ایجاد یک فرم ارتباط

سوالات خود را در این بخش مطرح کنید
amir
مدیر سایت
مدیر سایت
پست: 1973
تاریخ عضویت: جمعه 28 فروردین 1383, 12:00 am
محل اقامت: اینترنت
تشکر کرده: 2 دفعه
تشکر شده: 8 دفعه
تماس:

ایجاد یک فرم ارتباط

پست توسط amir »

ایجاد یک فرم ارتباط ساده برای سایت
http://www.amirmoazzami.com/index.php?m ... &post_id=8

موفق باشید-امیر


[Zero-F]
ali-msh
مدیر سایت
مدیر سایت
پست: 1315
تاریخ عضویت: سه‌شنبه 29 شهریور 1384, 12:00 am
محل اقامت: آنجا که دل خوش است
تماس:

پست توسط ali-msh »

امير جان يه سوال داشتم
ميشه کاري کرد يکي که يک فيلد رو خالي بزاره ارور بده ؟ منظورم اينه که اگه لطف کنيد يا حداقل راهنمايي کنيد :D
علي شفق
amir
مدیر سایت
مدیر سایت
پست: 1973
تاریخ عضویت: جمعه 28 فروردین 1383, 12:00 am
محل اقامت: اینترنت
تشکر کرده: 2 دفعه
تشکر شده: 8 دفعه
تماس:

پست توسط amir »

سلام علی جان
فایل index.html رو تو یک ادیتور مناسب باز کن تو سورس این صفحه خط زیر رو پیدا کن :

کد: انتخاب همه

<SCRIPT language=Javascript src="amir.js" 
type=text/javascript></SCRIPT>

بعد از این خط کد زیر رو بصورت کامل قرار بده :

کد: انتخاب همه

<SCRIPT LANGUAGE="JavaScript1.1">

function isblank(s)
{
    for(var i = 0; i < s.length; i++) {
        var c = s.charAt(i);
        if ((c != ' ') && (c != '\n') && (c != '\t')) return false;
    }
    return true;
}


function verify(f)
{
    var msg;
    var empty_fields = "";
    var errors = "";


    for(var i = 0; i < f.length; i++) {
        var e = f.elements[i];
        if (((e.type == "text") || (e.type == "textarea")) && !e.optional) {
            
            if ((e.value == null) || (e.value == "") || isblank(e.value)) {
                empty_fields += "\n          " + e.name;
                continue;
            }

            
            if (e.numeric || (e.min != null) || (e.max != null)) { 
                var v = parseFloat(e.value);
                if (isNaN(v) || 
                    ((e.min != null) && (v < e.min)) || 
                    ((e.max != null) && (v > e.max))) {
                    errors += "- The field " + e.name + " must be a number";
                    if (e.min != null) 
                        errors += " that is greater than " + e.min;
                    if (e.max != null && e.min != null) 
                        errors += " and less than " + e.max;
                    else if (e.max != null)
                        errors += " that is less than " + e.max;
                    errors += ".\n";
                }
            }
        }
    }


    if (!empty_fields && !errors) return true;

    msg  = "______________________________________________________\n\n"
    msg += "The form was not submitted because of the following error(s).\n";
    msg += "Please correct these error(s) and re-submit.\n";
    msg += "______________________________________________________\n\n"

    if (empty_fields) {
        msg += "- The following required field(s) are empty:" 
                + empty_fields + "\n";
        if (errors) msg += "\n";
    }
    msg += errors;
    alert(msg);
    return false;
}
</SCRIPT>

حالا در همین فایل این خط رو پیدا کن :

کد: انتخاب همه

                                                                        <form method="POST" action="send-m.php" onsubmit="return CheckForm(this);"> 

و به صورت زیر تغییرش بده :

کد: انتخاب همه

  <form onSubmit="
    this.name.optional = false;
    this.lastname.optional = false;
    this.email.optional = false;
    this.message.optional = false;
    return verify(this);
" method="POST" action="send-m.php" onsubmit="return CheckForm(this);">                                       

من هر 4 مورد رو ضروری گذاشتم مثلا اگه خواستی پیغام (message) ضروری نباشه false جلوش رو به true تغییر بده :

کد: انتخاب همه

<form onSubmit="
    this.name.optional = false;
    this.lastname.optional = false;
    this.email.optional = false;
    this.message.optional = true;
    return verify(this);
" method="POST" action="send-m.php" onsubmit="return CheckForm(this);"> 

موفق باشید - امیر
[Zero-F]
ali-msh
مدیر سایت
مدیر سایت
پست: 1315
تاریخ عضویت: سه‌شنبه 29 شهریور 1384, 12:00 am
محل اقامت: آنجا که دل خوش است
تماس:

پست توسط ali-msh »

سلام
امير جان يه کاري ميخواستم انجام بدم شما ببينيد ميشه يا نه ؟
ميخواستم که اين فرم رو ارتقاء بدم مثلا به صورت يک فرم هاستينگ درش بيارم
ميشه تو فايل index.html فيلد ها رو با نام خودشون اضافه کرد بعد تو فايل send-m.php اسمهاي اونا رو مثل بقيه به اين قسمت ها اضافه کرد

کد: انتخاب همه

$body = "";
$body .= "Name: " . $name . "\n";
$body .= "LastName: " . $lastname . "\n";
$body .= "eMail: " . $email . "\n";
$body .= "Message:\n  " . ereg_replace("\n", "\n  ", $message) . "\n";

$headers = "";
$headers .= "From: " . $email_name . " <" . $email_address . ">\n";
$headers .= "X-Sender: <" . $email_address . ">\n";
$headers .= "X-Mailer: PHP\n";
$headers .= "X-Priority: 1\n";
$headers .= "Return-Path: <" . $email_address . ">\n";
$headers .= "Content-Type: text/html; charset=UTF-8\n";
چرا انقدر سخت شد ؟ :roll:
علي شفق
amir
مدیر سایت
مدیر سایت
پست: 1973
تاریخ عضویت: جمعه 28 فروردین 1383, 12:00 am
محل اقامت: اینترنت
تشکر کرده: 2 دفعه
تشکر شده: 8 دفعه
تماس:

پست توسط amir »

سلام
ما فقط برای اینکار با این یه تیکه پایین کار داریم :

کد: انتخاب همه

$body .= "Name: " . $name . "\n"; 
$body .= "LastName: " . $lastname . "\n"; 
$body .= "eMail: " . $email . "\n"; 
$body .= "Message:\n  " . ereg_replace("\n", "\n  ", $message) . "\n"; 

شما میری مثلا یک فیلد جدید اضافه میکنی نام این فیلد مهمه مثلا phone پس باید یک خط هم برای تلفن تعریف کنیم :

کد: انتخاب همه

$body .= "Phone: " . $phone . "\n"; 

شکل کلی :

کد: انتخاب همه

$body .= "Name: " . $name . "\n"; 
$body .= "LastName: " . $lastname . "\n"; 
$body .= "eMail: " . $email . "\n"; 
$body .= "Phone: " . $phone . "\n"; 
$body .= "Message:\n  " . ereg_replace("\n", "\n  ", $message) . "\n"; 

فقط نکته ای که هست هر نامی که برای فیلدت میزاری با توجه به بزرگ یا کوچیک بودنش در قسمت بالا درست بدی اون Phone اولی اهمیت نداره فقط واسه موقعه ای که میل میشه جلوش مقدار وارد شده رو بده مسئله اصلی سره :

کد: انتخاب همه

$phone 
هست که باید درست وارد بشه به همین ترتیب اگه 200 تا فیلد هم بخوای اضافه کنی کافیه تو یه خط تعریفش کنی
موفق باشید - امیر
[Zero-F]
k2-4u
کاربر جدید
کاربر جدید
پست: 49
تاریخ عضویت: یک‌شنبه 13 آذر 1384, 12:00 am
محل اقامت: Kermanshah
تماس:

مشکل??

پست توسط k2-4u »

آقا امیر ببخشید باید چی کار کنیم که وقتی با این اسکریپ برای میل های یاهو ایمیل می زنند
تبدیل به کد های بی معنی نشه
شما با UTF-8 یونی کد کردید ولی باز هم جواب نمیده ؟؟
اگه کمکم کنین ممنون می شم


پی نوشت :
من این اسکریپ رو با ادیتور در این لینک درست کردم (به صورتی که بشه برای همه میل زد ولی
مشکل فارسی داره؟؟)

http://www.k2-4u.com/k2/includes/editor/index.html
www.k2-4u.com Download 0day hack Pro~~~~~~
~~k2_4u@yahoo.com~~~~
amir
مدیر سایت
مدیر سایت
پست: 1973
تاریخ عضویت: جمعه 28 فروردین 1383, 12:00 am
محل اقامت: اینترنت
تشکر کرده: 2 دفعه
تشکر شده: 8 دفعه
تماس:

پست توسط amir »

با سلام
فرم ایمیل شما از لحاظ فارسی در یاهو مشکل نداره من تست کردم و بدون ایراد به صورت فارسی ارسال شد البته وب میل یاهو یه مقدار در مورد فارسی مشکل دار هست ولی این فرم شما مشکلی رو نداشت و البته نباید هم داشته باشه چون همون طوری که خودتون گفتید charest تعریف شده هستش
موفق باشید - امیر
[Zero-F]
k2-4u
کاربر جدید
کاربر جدید
پست: 49
تاریخ عضویت: یک‌شنبه 13 آذر 1384, 12:00 am
محل اقامت: Kermanshah
تماس:

پست توسط k2-4u »

خیلی ممنون آقا امیر :D
www.k2-4u.com Download 0day hack Pro~~~~~~
~~k2_4u@yahoo.com~~~~
jahangardi
کاربر جدید
کاربر جدید
پست: 7
تاریخ عضویت: دوشنبه 9 بهمن 1385, 12:00 am

پست توسط jahangardi »

سلام امیر آقا
لطف کنید به من بگین چجوری میتونم یه فرم مثل فرم درخواست سایت شما داشته باشم . البته از اون فیلدهای تعیین استان 4 تا داشته باشه . یه دنیا ممنون
jahangardi
کاربر جدید
کاربر جدید
پست: 7
تاریخ عضویت: دوشنبه 9 بهمن 1385, 12:00 am

پست توسط jahangardi »

سلام امیر جان
میشه بگی از این فیلدای تعیین استان که قابل تغییره و واسه خودتون گذاشتین چجوری باید بذارم
ممنون
ali-msh
مدیر سایت
مدیر سایت
پست: 1315
تاریخ عضویت: سه‌شنبه 29 شهریور 1384, 12:00 am
محل اقامت: آنجا که دل خوش است
تماس:

پست توسط ali-msh »

براي اينجور فيلد ها بايد از تگ زير استفاده کنيد

کد: انتخاب همه

	<select>
	<option value="meghdari ke post mishavad">matni ke karbar mibinad</option>
		</select>
مثال

کد: انتخاب همه

<select>
	<option value="Number one">shomare 1</option>
	<option value="Number Two">shomare 2</option>
	</select>

به تعداد لازم ميتونيد

کد: انتخاب همه

<option value="Number Two">shomare 2</option>
رو اضافه کنيد
در اينجا

کد: انتخاب همه

>shomare 2<
مقداري هست که توسط کاربر ديده ميشه و

کد: انتخاب همه

value="Number Two"
مقداري هست که پست ميشه
علي شفق
jahangardi
کاربر جدید
کاربر جدید
پست: 7
تاریخ عضویت: دوشنبه 9 بهمن 1385, 12:00 am

پست توسط jahangardi »

خیلی ممنون :D
موضوع جدید ارسال پست

بازگشت به “PHP Script”