Hide this notice

مرحبا أنت تستخدم انترنت اكسبلورر ٦ و هو متصفح اصدر في العام 2001 الا يبدو لك ذلك قديما .

نحن ننصحك بقوة بترقية متصفحك إلى نسخة أحدث مثل أنترنت اكسيلورر ٨ أو فايرفوكس و الذي سيتيح لك تصفح أفضل ليس لموقعنا فقط بل في كل أرجاء الأنترنت..

لو كنت لا تريد أو لا تملك الصلاحية لترقية المتصفح يمكنك أن تستمر في التصفح على الرحب و السعة لكن تذكر قد لا تتمكن من استعراض بعض خدمات الموقع بالشكل المطلوب . بالطبع يمكنك إخفاء هذه الرسالة و تستمر في التصفح و لن تظهر لك هذه الرسالة مرة أخرى .

Post Pic

استقبال البيانات من إستمارة

كيف نستقبل البيانات المرسلة من إستمارة أو نموذج و نطبع البيانات المرسلة فيها

هنا سنشرح أساسيات التعامل مع الإستمارات و استقبال البيانات منها ..

سننشأ استمارة تتكون من 3 حقول و سنسميهم على التوالي :

  • yourname
  • youremail
  • yourcomment

هذه هي شفرة الإستمارة

<form method="POST" action="form.php" name="myform">
<p><label for="yourname">الإسم </label><input type="text" name="yourname" size="20" /></p>
<p><label for="youremail">بريدك الإلكتروني</label><input type="text" name="youremail" size="20" /></p>
<p><label for="yourcomment">رسالتك </label>
<textarea rows="5"name="yourcomment" cols="25"></textarea>
</p>
<p>
<input type="submit" value="ارسل" name="sendbuttom" /></p>
</form>

عن الضغط على زر الاستمارة سيتم التوجهة إلى الملف form.php و قد حددنا ذلك من خلال الوسم form و خاصية action .

و الآن في ملف form.php

الشفرة التالية :


<?
if($_SERVER['REQUEST_METHOD'] =='POST'){
//التأكد من أن جميع البيانات كاملة ..
if(empty($_POST['yourname']) || empty($_POST['youremail']) || empty($_POST['yourcomment'])){
echo 'بيانات ناقصة .. فضلا أكمل جميع البيانات ..';
exit;
}
// التأكد من أن البريد الإلكتروني صحيح
if(!eregi("^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*(.[a-z]{2,3})$", $_POST['youremail'])) {
echo "البريد الإلكتروني غير صحيح..";

exit;
}
// جميع البيانات صحيحة تابع

$to_email = "youremail@somewhere.com"; // البريد الذي تريد الاستقبال عليه
// موضوع الرسالة
$subject = "رسالة من الموقع ..";
$headers = 'From: '.$_POST['youremail'] . "";

mail($to_email, $subject, $_POST['yourcomment'], $headers);
echo 'شكرا لك تم إرسال الرسالة بنجاح ..';
}

?>

لو راجعت كود الاستمارة في الأعلى ستجد اننا حددنا Method و جعلناه يساوي post و هذه هي الطريقة الأفضل في حالة هذه الإستمارة .

و بالتالي في السطر الأول نتأكد من أن طريقة استدعاء ملف form.php كانت بواسطة استمارة و الطريقة post .

المتغير $_SERVER[‘REQUEST_METHOD’] يحتوي على طريقة الإرسال و ما نقوم به معرفة إذا كانت القيمة تساوي Post إذا طريقة الإرسال صحيحة و نستمر . و الا نتجاهل الامر .

بعدها نريد التأكد من جميع البيانات المطلوبة كاملة و ليس هناك حقول ناقصة ..


//التأكد من أن جميع البيانات كاملة ..
if(empty($_POST['yourname']) || empty($_POST['youremail']) || empty($_POST['yourcomment'])){
echo 'بيانات ناقصة .. فضلا أكمل جميع البيانات ..';
exit;
}

كل القيم المرسلة من خلالة الإستمارة تكون موجودة في المتغير $_POST

و الذي هو عبارة عن متسلسلة تحتوي على جميع البيانات المرسلة من الإستمارة مثلا لو أردنا الحصول على ما كتبه الزائر في الحقل الذي اسميناه في الإستمارة yourname

نجده بالطريقة التالية ..

$_POST['yourname'] ;

و بالتالي في برنامجنا نحن نستخدم الدالة empty للتأكد من كل حقل.

استخدمنا دالة شرطية (أو ) باستخدام || وبالتالي لو تحقق أي من الشروط الثلاث التي حددناها و هو خلو أي من الحقول سنطبع رسالة خطأ بأستخدام echo و سننهي البرنامج باستخدام exit


// التأكد من أن البريد الإلكتروني صحيح
if(!eregi("^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*(.[a-z]{2,3})$", $_POST['youremail'])) {
echo "البريد الإلكتروني غير صحيح..";
}

في الخطوة التالية نريد التأكد من صحة البريد الإلكتروني الذي زودنا به الزائر لذلك استخدام الدالة eregi . البريد الإلكتروني له تركيب معين أو طريقة معينة في الكتابة حددناها و نحن نستخدم الدالة eregi للمقارنة بين البريد الإلكتروني الذي ادخلة الزائر و التركيب الصحيح للبريد … قبل الدالة استخدمنا علامة التعجب ! و التي تعني لا اي إذا لم يتحقق الشرط و لم يظهر التوافق اظهر رسالة الخطأ و انهي البرنامج


// جميع البيانات صحيحة تابع

$to_email = "youremail@somewhere.com"; // البريد الذي تريد الاستقبال عليه
// موضوع الرسالة
$subject = "رسالة من الموقع ..";
$headers = 'From: '.$_POST['youremail'] . "";

mail($to_email, $subject, $_POST['yourcomment'], $headers);

و الآن نأتي لعملية الإرسالة الفعلية ..

المتغير to_email نحدد فيه البريد الذي سنرسل إليه اليبانات في حالة موقعك بريدك .

موضوع الرسالة نحدده من خلال المتغير subject

أما header فحددنا فيه بريد المرسل و الذي هو في حالتنا هنا الزائر ..

في header يمكنك استخدام الكثير من القيم و تحديد الكثير من الخيارات مثل cc و bcc .. الخ راجع دليل الphp لمعرفة الخيارات المتاحة لك .

و اخيرا نرسل البيانات عن طريق الدالة mail و نطبع رسالة شكر للزائر ..

تم تطوير هذا البرنامج في موضوع (إنشاء استمارة مراسلة بواسطة أجاكس و php )  . بحيث يتم إرسال الاستمارة بواسطة أجاكس .

بقلم : فاطمة العمادي

أم و زوجة .. مصممة حرة و مصورة .. عرف الناس كتاباتي التقنية من خلال شخصية خيالية هي الدكتور نت . اصمم المواقع منذ العام ١٩٩٩م .

أوسمة : , , , ,

التعليقات مغلقة .