| |||||||
| المدوّنات | البحث | مشاركات اليوم | اجعل كافة المشاركات مقروءة |
|
| | LinkBack | أدوات الموضوع |
| |||||
| درس (1 ) : تعلم برمجة فورم المراسلة لموقعك ( أبسط شرح من الألف إلى الياء ) ![]() لكن لا تبدأ بالقراءة وانت معزم إنك ماراح تفهم .. ركز شوي وجرب .. وأحيطك علما بأن سطور البرمجة التي تراها هنا ليست إلا html يمكنك عملها بالفرونت بيج .. ولن تحتاج إلا لحوالي ثلاثة أسطر فقط تكتبها بلغة php ![]() طيب سنتعرف الآن على الملفات المستخدمة في السيكربت ووظيفة كل منها : 1-add.html : هذه الصفحة تحتوي على الحقول التي يقوم الزائر بتعبئتها .. وللتبسيط راح نطلب من الزائر البيانات التالية ( العنوان للرسالة – الرسالة ) ... وستتعلم لاحقا كيفية إضافة حقول إضافية .. بس أهم شي نفهم هذي . 2-Send.php : وهذا الملف هو الذي سيقوم باستقبال البيانات التي كتبها الزائر وسيقوم بإرسالها على بريدك . --------------------------------------------------------------------------------------- الآن سنقوم بتصميم الصفحة الأولى add.html .. وسأختصر قدر الإمكان الأسطر البرمجية عشان تركز على فهم المطلوب .. وتقدر تستخدم الفرونت بيج لكن أنصحك أن تقوم باستخدام المفكرة مؤقتا حتى تعرف وظيفة كل سطر تكتبه وتتعرف لأسماء المتغيرات وتحددها... قم بفتح برنامج المفكرة واكتب التالي : <form method="post" action="send.php"> <input type="text" name="subject"> عنوان الرسالة : <br> <input type="text" name="message"> الرسالة : <br> <input type="submit" value="أرسل" > </form> شرح الكود : - في السطر الأول قمنا بفتح form سيطلب من الزائر بيانات سيتم تحديدها في الأسطر اللي بعده .. ويجب عند إنشاء فورم معين تحديد شيئين أساسيين : أ-method : وهي طريقة إرسال البيانات .. إما Get أو Post والفرق بينهما بكل بساطة هي أن Get بعد أن يقوم الزائر بتعبئة الحقول وضغط الإرسال ستقوم بعرض عنوان الصفحة بعد علامة استفهام ؟ في شريط العنوان بالمتصفح ، وستظهر البيانات التي وضعها الزائر أيضا في شريط العناوين.... وأما Post ستقوم بإرسال المعلومات دون عرضها في شريط العناوين .. ونحن هنا بالطبع لانريد عرض البيانات في شريط العنوان بالمتصفح .. فاستخدمنا Post . ب- Action : ونحدد هنا اسم الملف الذي تتجه إليه البيانات التي يضعها الزائر بعد ضغطه للإرسال .. ليقوم ذلك الملف باستقبالها ومعالجتها بحسب مافيه من أوامر . - السطر الثاني طالبنا الزائر بإدخال قيمة باستخدام الأمر input .. وهذا الأمر يحتاج إلى : أ- Type : وهنا نحدد نوع الإدخال من قبل الزائر .. هل هو نص text أو اختيار من متعدد كأزرار الراديو Radio أو مربعات يضع فيها علامات صح والتي تسمى Checkbox ... وكما ترى بأننا هنا نريد من الزائر إدخال اسمه فبالتأكيد سنحدد نوع الإدخال على أنه Text . ب- Name : هنا سنضع اسم لمتغير .. هذا يعني بأن البيانات التي سيضعها الزائر في هذا الحقل ستحفظ في المتغير subject - السطر الثالث نفس السطر الثاني مع اختلاف اسم المتغير طبعا .. وقد أعطيناه الاسم message هنا .. وطبعا الرسالة نوعها نصية text . - السطر الرابع لإضافة زر الإرسال .. ونوعه Submit وسيكون مكتوب عليه افتراضيا كلمة (أرسل) - الوسوم <br> هي وسوم html لترك سطر فارغ .. وآخر شي الوسم </form> عشان إغلاق الفورم . ---------------------------------------------------------------------------------------
__________________ ومامن كاتب إلا سيفنى ****** ويبقي الدهر ماكتبت يداه فلا تكتب بكفك غير شيء ****** يسرك يوم القيامة أن تراه | |||||
|
| |||||
|
الصفحة الثانية هي الصفحة send.php وهي التي ستقوم باستلام البيانات التي سيضعها الزائر للمتغيرين السابقين ($subject و $message ) . سنستخدم للقيام بعملية الإرسال الدالة mail() .. وسأوضحها باختصااااار .. الدالة هذي عشان تقوم بالإرسال فإنها تحتاج إلى ثلاثة أشياء رئيسية : 1- to : وهو بريد الشخص المرسل إليه . 2- Subject : وهو عنوان أو موضوع الرسالة . 3- Message : وهو نص الرسالة . ونقوم بكتابة الدالة هكذا Mail($to,$subject,$message) يعني تقوم بالإرسال للبريد $to رسالة عنوانها $subject وموضوعها $message واضحة صح ؟ ![]() طيب تتفقون معي بأن صاحب الموقع يريد من الزائر الإرسال لبريده .. يعني البريد المرسل إليه ثابت بعنوان واحد لايتغير .. إذا قيمة المتغير $to هي قيمة ثابتة هذه القيمة هي بريد صاحب الموقع .. لنفرض أنه master@islamsun.com ونكتب السطر التالي : كود PHP: بكذا نكون خلاص وضحنا جميع احتياجات الدالة mail() لتقوم بالإرسال ولم يبقى سوى سطر واحد إضافى على السطر السابق .. وهو كود PHP: كود PHP: لو رفعت الملفين على موقعك واختبرتهم ستجد بأنها قامت بالإرسال فعلا .. وهذا هو الأساس في عمل فورم المراسلة .. باقي اللهم شوية حركات إضافية مثل : 1- إضافة أمر للتأكد من تعبئة الزائر للحقول حتى لايتم الإرسال للحقول إذا لم تحتوي على أي إدخالات .. وتستطيع عمل ذلك باستخدام جملة الشرك if..else 2- بعد الإرسال يتم طباعة عبارة ( شكرا لك .. لقد تم إرسال رسالتك ) .. وتستطيع القيام بذلك عن طريق إضافة السطر التالي لملف send.php : Echo "شكرا لك .. لقد تم إرسال رسالتك"; 3- السماح باستخدام html 4- تغيير مصدر الرسالة from .. حيث سيكون في المثال السابق nobody . 5- وضع الملف add.html في الفرونت بيج والتعديل عليه من ناحية الشكل والمظهر ليناسب ذوقك . اللحين أللي مطلوب منك هو التدرب على استخدام الفورم واستخدام الدالة mail() وإضافة شيء جديد كل فترة وستجد أنك تتعلم بالتدريج كتابة php ومن يدري قد تكون بدايتك الفعلية لتعلم هذه اللغة تماما ... تحياتي للجميع
__________________ ومامن كاتب إلا سيفنى ****** ويبقي الدهر ماكتبت يداه فلا تكتب بكفك غير شيء ****** يسرك يوم القيامة أن تراه | |||||
|
| |||||
|
سلام عليكم اخي الكريم دكتور سيرفر شكرا لك على هذا الشرح و جزاك الله كل خير .. انا اعملت فورم بريدي مختلف شوي يعني وظيفته انك بدل ما تدخل على ايميلك و ترسل رسالة لايميل تاني تدخل على هادا الفورم و تضع بريدك و بريد صاحبك و عنوان الرسالة و الرسال ... سؤالي : كيف ممكن اخد نسخة من كل رسالة تنبعث من هذا الفورم و النسخة توصل على بريدي ؟؟ ياريت تجاوبني باسرع وقت و شكرا لك تاني .... www.palnour.com
__________________ لك الله يا غزة .. | |||||
|
| |||||
|
جزاك الله خير على الدرس و لا حرمك ربي الأجر ..
__________________ الملف الشخصي | |||||
|
| |||||
| تطبيق عملي
قمت سابقاً بعمل فورم بريدي و هو يعتبر تطبيق عملي على هذا الشرح ، مع اضافة اشياء اخرى و تغيير اسماء الملفات الرابط فمثلاً صفحة add جعلتها contact و زودت الحقول و المتغيرات ستلاحظون حقول كثيرة ، كنت اريد الخروج عن المألوف كما ستلاحظون ان الصفحة php و ليست html و ذلك لاضافة الهيدر و الفوتر ، حيث ان الصفحة تعتبر صفحة html ، فالكود البرمجي الوحيد الذى بها هو امر انكلود للفوتر و الهيدر و صفحة send جعلتها contact_submit ، و ايضاً جعلت صفحة contact ترسل المتغيرات الى صفحة contact_submit لترسلها الى الايميل كما اضفت هيدر و فوتر على الفورم ، و يتمثل الهيدر في البانر و الفوتر في صورة الحقوق تحياتي
__________________ لاَ اِلَهَ اِلاَّ اَنْتَ سُبْحَانَكَ اِنِّي كُنْتُ مِنَ الظَّالِمِينَ قصة نجاح مدون الألفاظ هي الثياب التي ترتديها أفكارنا، لذا ..يجب ألا تظهر أفكارنا في ثياب رثة بالية | |||||
|
| |||||
|
مرحباااااااااااااا جميعا وشرفتوا الموضوع .. ومشكور أبو مشعل على التثبيت ... ومعليش تأخرت عليكم الأخ palnour .. قم بإضافة دالة mail أخرى تحت الأوله .. وضع فيها بريدك اللي تبي توصلك النسخة عليه ![]() Moodeey الفورم رايق .. والألوان ذوووووووق ![]() شكرا على التوضيح .. وياليت تحط الفورم للتحميل هنا عشان يطلعون الإخوان على الزيادات المكتوبة فيه .
__________________ ومامن كاتب إلا سيفنى ****** ويبقي الدهر ماكتبت يداه فلا تكتب بكفك غير شيء ****** يسرك يوم القيامة أن تراه | |||||
|
| |||||
|
جميل .. ولكن من لديه ملفات جاهزة للشرح.. وأعذروني على رفع الموضوع .. وخالص المودة ..
__________________ ██████████ ██████████ ██████████ مهارات سوفت مهارات سوفت للبرامج وتطوير المواقع والمنتديات والتبادل التجاري. للتواصل .. 00967733873335 باب الحارة .. للبيع ..!! | |||||
|
| |||||
|
مرحبة .. الأخ / palnour بسيطة .. أعلم أنّ الدالة mail ما تحمل أكثر من 5 أو 6 متغيرات .. فالنفرض أنّ عندك فورم وش قدة تريد تضيف فيه خانات .. فشنو الحل !! تخلي متغير واحد تجمع فيه المتغيرات .. لن اطيل واخشى أني اضيّع الموضوع هذا كود برمجتة سابقاً وكان يحوي بيانات .. الاسم والعمر والتلفون والمنطقة والاجابة .. وكنت أفصل بين هاي المتغيرات بسطر بواسطة /n .. وموجود if ستيتمنت في حالة تم الارسال أو لا .. ألقي نظرة على الكود البرمجي ولو فيه اي استفسار انا حاضر .. كود: <?php
$to="marhoons@gmail.com";
$y=" المتسابق: $name \n العمر : $age \n المنطقة : $set \n تلفون : $tell \n الاجابة: $ans";
$cc="marhoons@gmail.com";
$sendmail=mail("$to","إجابة من: $name","$y","$cc");
if($sendmail)
{
echo"Send";
}
else
{
echo"Eroor";
}
?>
__________________ ..:: Marhoons ::.. http://groups.yahoo.com/group/marhoons | |||||
|
| |||||
|
اخي الكريم بارك الله فيك على درسك الرائع والجميل والبسيط ولكن للاسف الشديد لم استطع التطبيق ففي كل مرة يقول لي Warning: mail(): "sendmail_from" not set in php.ini or custom "From:" header missing in d:\wwwroot\nibfras\wwwroot\arabic\mailus\send.php on line 3 بالرغم من انني طبقت درسك حرفيا بامكانك التاكد من هذا الرابط http://www.firstshoes.com.cn/arabic/mailus/add.htm فهل اجد الحل لمشكلتي لديكم وتقبل تحياتي الحارة واعلم بانني انتظر اجابتك على احر من الجمر | |||||
|
| |||||
|
يا مرحبا بيك اخوي انا في صفحة add.htm وضعت هذا الكود <form method="post" action="send.php"> <input type="text" name="subject"> عنوان الرسالة : <br> <input type="text" name="message"> الرسالة : <br> <input type="submit" value="أرسل" > </form> وفي صفحة send.php وضعت هذا الكود <? $to="nibrasalqubati@hotmail.com"; Mail($to,$subject,$message); ?> يعني نفس ما كتبت انت حرفيا ما عدا تغيير واحد فقط اللي هو عنوان البريد الالكتروني كتبت عنواني الشخصي اتمنى ان اجد الحل لديكم وتقبل شكري وتقديري مقدما | |||||
|
| |||||
|
اتوقع فيه تغيير لبعض اعدادات ملف php.ini لديك .. جرب تضيف هيدر للرسالة يحتوي على خانة المرسل كود PHP:
__________________ ومامن كاتب إلا سيفنى ****** ويبقي الدهر ماكتبت يداه فلا تكتب بكفك غير شيء ****** يسرك يوم القيامة أن تراه | |||||
|
| |||||
|
اخي الكريم المعذرة تعبتك معاي ويبدو انه ما فيش فائدة والمشكلة لا حل لها تقريبا هذه المرة الخطا نفس الاول تقريبا وهو Warning: mail(): "sendmail_from" not set in php.ini or custom "From:" header missing in d:\wwwroot\nibfras\wwwroot\arabic\meil\send.php on line 5 والسبب تقريبا على ما اظن انني اخترت العمل على ويندوز وليس على لينكس يعني السيرفر المستضيف في الوندوز وليس في نظام لينكس والفرق بينهما شاسع كما اخبرني المستضيف فقد خيرني في البداية وانا لا اعرف شئ عن الفرق بينهما فقال لي هل ستستخدم الاس كيو ال او ستستخدم الاكسس قلت الاكسس قال اذا تريد الاكسس لازم تختار الويندوز ولو تريد الاس كيو ال لازم تختار اللينكس فاخترت الوندوز ولكنني اكتشفت ان معظم الدوال البي اتش بي لا تعمل في الوندوز ومنها دالة mail هذه حيث بحثت في المواقع الصينية والكثير لديهم نفس المشكلة وكانت الاجابة على المشكلة شبه واحدة انها لا تعمل في نظام ويندوز تواصلت مع الشركة المستضيفة بشان التغيير فقالوا لا يمكن ولكنهم اوصوني باستخدام دالة jmail لمراسلة مدير الموقع هل اجد شرحا لهذه الدالة او طريقة اخرى للمراسلة بواسطة لغة asp يا ريت تساعدوني وتقبلوا من محبكم في الله من ارض الصين نبراس اليماني فائق الحب والتقدير والاحترام | |||||
|
| |||||
|
عزيزي نبراس إذا كان هدفك أن تتعلم PHP لنفسك وليس بغرض عمل السكربت فقط فقم بإنزال البرامج ومشغلات PHP على جهازك حتى ولو كان ويندوز وأكمل تعليمك وبالنسبة للدالة mail فهناك برنامج صغير جدا يقوم بتفعيلها على جهازك الشخصي وتصير ترسل من السكربت على بريد الاوت لوك اكسبرس بدون انترنت ابحث في سوالف عن Ability Server وقم بتركيبه على جهازك
__________________ ومامن كاتب إلا سيفنى ****** ويبقي الدهر ماكتبت يداه فلا تكتب بكفك غير شيء ****** يسرك يوم القيامة أن تراه | |||||
|
![]() |
| |
| |
| أدوات الموضوع | |
| |