• 0
DeYaqoob

مشكلة في انشاء نموذج اتصل بنا

سؤال

بعدة التحية العاطرة ...

 

 

اخواني اواجه مشكلة في فورم اتصل بنا

 

طبقت الشرح التالي لتنفيذ هذا الفورم

 

 ..............................................

...........................................................

الصفحات التي سوف ننشئها : 
contact.php

process.php


 
ان من الصفحات الاساسية في كل موقع هي صفحة تمكن الزائرين من الاتصال بصاحب الموقع, او المدونة او الشركة او غيرها.حيث غالبا هذه الصفحات تتكون من نماذج اتصال مثل (نموذج دردشة, نموذج ارسال رسالة) وغيرها , كما تحتوي على معلومات اتصال اخرى.

نماذج الاتصال تستخدم صفحات ديناميكية لمعالجة طلب الاتصال فمثلا لو كان نموذج دردشة مع خدمة الزبائن فمن خلال الصفحة الديناميكية يتم التأكد ما ان كان الموظف متواجد ام لا وعلى هذا الاساس يتم تفعيل صفحة برنامج الدردشة والذي غالبا يكون بلغة JavaScript.
لنركز على نموذج الاتصال الشائع والذي من خلاله يمكنك ارسال رسالة تحتوي على اسمك وبريدك الالكتروني ومحتوى الرسالة الى بريد الشركة او الموقع بدون استخدام خدمات البريد التقليدية... فكيف يعمل؟
سنقوم في هذا الدرس بأنشاء صفحة (اتصل بنا) تحتوي على نموذج اتصال .
حيث ان صفحة النموذج تطلب من الزائر كتابة الاسم, عنوان البريد الالكتروني, والرسالة . وسيقوم النموذج بأرسال البيانات لصفحة اخرى لتتم معالجتها واستخدام دالة mailالتي سنتكلم عنها لاحقا.
في البداية قم بفتح برنامج محرر النصوص البرمجية وانشئ صفحة PHP جديدة واكتب الاسطر التالية في خانة body:


 
 
<div align="right" dir="rtl">
<form action="process.php" method="post">
<label>الاسم</label>
<input type="text" name="name" />
<br /><br />
 
<label>البريد الالكتروني</label>
<input type="text" name="email" />
<br /><br />
 
 
<label>الرسالة</label>
<textarea name="msg" cols="50" rows="8"></textarea>
<br /><br />
 
 
<input type="submit" value="ارسال" />  
<input type="reset" value="مسح" />
</form>
</div>
 
 
الاسطر اعلاه تقوم بأنشاء نموذج مبسط كما هو موضح ادناه:
 
Capture.JPG
 
 
 
كما هو ملاحظ لقد قمت مسبقا بتوجيه النموذج الى صفحة process.php لذلك سنقوم بأنشاء الصفحة لكن قبل ذلك لننقاش قليلا دالة mail :
هي دالة من دوال PHP تستخدم للتعامل مع بروتوكولات البريد الموجودة في كل سيرفر وهي مفيدة جدا من ناحية النماذج حيث تسهل على مالكي الموقع والزوار من التواصل ويمكن استخدامها كالاتي:
 
 
mail (بريد المرسل, محتوى الرسالة, الموضوع, عنوان المستلم);
 
- عنوان المستلم هو البريد الالكتروني الخاص بموقعك
- الموضوع هو موضوع الرسالة ويجب ان يكون بداخل علامات اقتباس
- محتوى الرسالة يكون بداخل علامات اقتباس ايضا
- بريد المرسل هو البريد الالكتروني للمستخدم او الزائر
 
في حالة انشاء صفحة نموذج اتصال فأن الدالة ستسقبل بيانات متغيرة في كل حالة اتصال لذلك سندمج هذه الدالة مع بارامترات الدالة $_POST التي ستسقبل البيانات من الصفحة السابقة , بالطبع يمكنك استخدام اي طريقة لارسال البيانات .
قم بأنشاء صفحة process.php واكتب الكود التالي:
 
 
<?php
session_start();
if (empty($_POST['name'])|| empty($_POST['email']) || empty($_POST['msg'])) {
echo "الرجاء ملء كافة الحقول";
} else {
date_default_timezone_set('Asia/Baghdad');
$nw_date=date("F j, Y");
$body="الاسم: ".$_POST['name']."\n الرسالة: ".$_POST['msg']."\n التاريخ: ".$nw_date;
$email=$_POST['email'];
mail("[email protected]", "new message",$body, "من:  <".$email.">");
 
echo "شكرا لك سنرد عليك بأقرب وقت";
echo "-"."<a href='contact.php'>العودة</a>";
}
?>


في البداية وضعنا دالة if مع دالة empty للتأكد من عدم خلو اي من الحقول من البيانات قبل متابعة العملية فأن كانت المعلومات موجودة سنقوم بالاجراءات التالية:
 
قمنا بأنشاء متغير يحمل وقت وتاريخ العمليةوقد قمنا بضبط التوقيت حسب مدينة بغداد من خلال الخاصية date_default_timezone_set
ثم قمنا بأنشاء متغير محتوى الرسالة الذي يتكون من محتوى الرسالة الفعلي واسم الزائر والتاريخ كما ان البريد الالكتروني للزائر سيكون هو بريد المرسل ووضعناه بدالة:
$email=$_POST['email'];
 

 
كخطوة اخيرة قم بتغيير البريد الالكتروني المستخدم بالمثال الى عنوانك الخاص وقم بتشغيل الصفحة على موقعك الفعلي وليس مخدم الويب المحلي وشاهد التغيير.
 
 
 
.......................................................
............................................
 
 
المشكلة التي اواجهها تظهر رسالة
عند ضغط ارسال
 

 

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /home/asalayed/public_html/Ar/process.php:15) in /home/asalayed/public_html/Ar/process.php on line 18

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/asalayed/public_html/Ar/process.php:15) in /home/asalayed/public_html/Ar/process.php on line 18

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

 

 

يمكنكم اختبار البرمجة

من هذا الرابط

 

http://www.asalayed.com/Ar/ContactUs.php

 

 

 

انتظر حلولكم

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

0 إجابة على هذا السؤال .

لاتوجد إجابات على هذا السؤال حتى الآن .

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .