نظرة سريعة على مجريات يوم سوالف
الفائزون في المسابقة الأصغر لسوالف كاست

 

العودة   سوالف سوفت > قسم تطوير وبرمجة المواقع للمتقدمين > PHP
المدوّنات البحث مشاركات اليوم اجعل كافة المشاركات مقروءة

موضوع مغلق  
 
LinkBack أدوات الموضوع
عضو فعال
تاريخ التسجيل: Feb 2002-
#1 (permalink)  
درس (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> عشان إغلاق الفورم .
---------------------------------------------------------------------------------------






__________________
ومامن كاتب إلا سيفنى ****** ويبقي الدهر ماكتبت يداه
فلا تكتب بكفك غير شيء ****** يسرك يوم القيامة أن تراه
Dr.Server غير متواجد حالياً   قديم 14-03-2003, 04:07 PM
عضو فعال
تاريخ التسجيل: Feb 2002-
#2 (permalink)  

الصفحة الثانية هي الصفحة send.php وهي التي ستقوم باستلام البيانات التي سيضعها الزائر للمتغيرين السابقين ($subject و $message ) .

سنستخدم للقيام بعملية الإرسال الدالة mail() .. وسأوضحها باختصااااار .. الدالة هذي عشان تقوم بالإرسال فإنها تحتاج إلى ثلاثة أشياء رئيسية :
1- to : وهو بريد الشخص المرسل إليه .
2- Subject : وهو عنوان أو موضوع الرسالة .
3- Message : وهو نص الرسالة .

ونقوم بكتابة الدالة هكذا
Mail($to,$subject,$message)
يعني تقوم بالإرسال للبريد $to رسالة عنوانها $subject وموضوعها $message واضحة صح ؟

طيب تتفقون معي بأن صاحب الموقع يريد من الزائر الإرسال لبريده .. يعني البريد المرسل إليه ثابت بعنوان واحد لايتغير .. إذا قيمة المتغير $to هي قيمة ثابتة هذه القيمة هي بريد صاحب الموقع .. لنفرض أنه master@islamsun.com ونكتب السطر التالي :
كود PHP:
$to="master@islamsun.com"
هذا المتغير $to عرفناه للدالة وباقي متغيرين هما عنوان الرسالة والموضوع لتكتمل طلبات الدالة mail وتقوم بعملها بشكل صحيح ... وإذا تذكر قبل شوي قلنا إن عنوان الرسالة سيضعه الزائر في الحقل الذي أسميناه بالمتغير $subject والرسالة سيكتبها في الحقل الذي اسمه $message

بكذا نكون خلاص وضحنا جميع احتياجات الدالة mail() لتقوم بالإرسال ولم يبقى سوى سطر واحد إضافى على السطر السابق .. وهو
كود PHP:
Mail($to,$subject,$message); 
يعني الملف send.php كاملا سيكون على الشكل :

كود PHP:
<?
$to
="master@islamsun.com";
Mail($to,$subject,$message);
?>

لو رفعت الملفين على موقعك واختبرتهم ستجد بأنها قامت بالإرسال فعلا .. وهذا هو الأساس في عمل فورم المراسلة .. باقي اللهم شوية حركات إضافية مثل :
1- إضافة أمر للتأكد من تعبئة الزائر للحقول حتى لايتم الإرسال للحقول إذا لم تحتوي على أي إدخالات .. وتستطيع عمل ذلك باستخدام جملة الشرك if..else
2- بعد الإرسال يتم طباعة عبارة ( شكرا لك .. لقد تم إرسال رسالتك ) .. وتستطيع القيام بذلك عن طريق إضافة السطر التالي لملف send.php :
Echo "شكرا لك .. لقد تم إرسال رسالتك";
3- السماح باستخدام html
4- تغيير مصدر الرسالة from .. حيث سيكون في المثال السابق nobody .
5- وضع الملف add.html في الفرونت بيج والتعديل عليه من ناحية الشكل والمظهر ليناسب ذوقك .


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

تحياتي للجميع






__________________
ومامن كاتب إلا سيفنى ****** ويبقي الدهر ماكتبت يداه
فلا تكتب بكفك غير شيء ****** يسرك يوم القيامة أن تراه
Dr.Server غير متواجد حالياً   قديم 14-03-2003, 04:15 PM
عضو سوبر نشيط
تاريخ التسجيل: Nov 2001-
#3 (permalink)  

شكرا لك عل هل الشرح
وجزاك الله خير






أبو الوليد غير متواجد حالياً   قديم 14-03-2003, 11:43 PM
عضو فعال
تاريخ التسجيل: Feb 2003-
#4 (permalink)  

سلام عليكم
اخي الكريم دكتور سيرفر شكرا لك على هذا الشرح و جزاك الله كل خير ..
انا اعملت فورم بريدي مختلف شوي يعني وظيفته انك بدل ما تدخل على ايميلك و ترسل رسالة لايميل تاني تدخل على هادا الفورم و تضع بريدك و بريد صاحبك و عنوان الرسالة و الرسال ...
سؤالي : كيف ممكن اخد نسخة من كل رسالة تنبعث من هذا الفورم و النسخة توصل على بريدي ؟؟ ياريت تجاوبني باسرع وقت و شكرا لك تاني ....



www.palnour.com






__________________
لك الله يا غزة ..
palnour غير متواجد حالياً   قديم 15-03-2003, 09:05 AM
عضو فعال جدا
تاريخ التسجيل: Dec 2000-
#5 (permalink)  

جزاك الله خير على الدرس و لا حرمك ربي الأجر ..






__________________
الملف الشخصي
رضا غير متواجد حالياً   قديم 15-03-2003, 10:10 AM
عضو نشيط
تاريخ التسجيل: Feb 2003-
#6 (permalink)  
Thumbs up

هلا اخوي د. سيرفر

السلام عليكم ورحمة الله وبركاته :

انت رائع رائع بهذا الدرس والشرح المميز ، جزاك الله كل خير وكثر الله من امثالك .. ننتظر منك المزيد من هالدروس العمليه والمفيده للجميع ..
تقبل خالص تحياتي وتقديري .






a7mad غير متواجد حالياً   قديم 15-03-2003, 10:49 AM
مشرف
تاريخ التسجيل: Sep 2001-
#7 (permalink)  
تطبيق عملي

قمت سابقاً بعمل فورم بريدي و هو يعتبر تطبيق عملي على هذا الشرح ، مع اضافة اشياء اخرى و تغيير اسماء الملفات

الرابط

فمثلاً صفحة add جعلتها contact و زودت الحقول و المتغيرات
ستلاحظون حقول كثيرة ، كنت اريد الخروج عن المألوف
كما ستلاحظون ان الصفحة php و ليست html و ذلك لاضافة الهيدر و الفوتر ، حيث ان الصفحة تعتبر صفحة html ، فالكود البرمجي الوحيد الذى بها هو امر انكلود للفوتر و الهيدر

و صفحة send جعلتها contact_submit ، و ايضاً جعلت صفحة contact ترسل المتغيرات الى صفحة contact_submit لترسلها الى الايميل

كما اضفت هيدر و فوتر على الفورم ، و يتمثل الهيدر في البانر و الفوتر في صورة الحقوق

تحياتي






__________________
لاَ اِلَهَ اِلاَّ اَنْتَ سُبْحَانَكَ اِنِّي كُنْتُ مِنَ الظَّالِمِينَ


قصة نجاح مدون

الألفاظ هي الثياب التي ترتديها أفكارنا، لذا ..يجب ألا تظهر أفكارنا في ثياب رثة بالية
محمود المسعودي غير متواجد حالياً   قديم 15-03-2003, 03:49 PM
مشرف تطوير المواقع
تاريخ التسجيل: Apr 2001-
#8 (permalink)  

شرح وافي بارك الله فيك






__________________
أخوكم ابو مشعل
ملاحظات لتنظيم المنتدى:
http://www.swalif.net/softs/showthread.php?s=&threadid=42612
---------------
ابو مشعل غير متواجد حالياً   قديم 15-03-2003, 06:07 PM
عضو فعال
تاريخ التسجيل: Feb 2002-
#9 (permalink)  

مرحباااااااااااااا جميعا وشرفتوا الموضوع .. ومشكور أبو مشعل على التثبيت ... ومعليش تأخرت عليكم

الأخ palnour .. قم بإضافة دالة mail أخرى تحت الأوله .. وضع فيها بريدك اللي تبي توصلك النسخة عليه

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






__________________
ومامن كاتب إلا سيفنى ****** ويبقي الدهر ماكتبت يداه
فلا تكتب بكفك غير شيء ****** يسرك يوم القيامة أن تراه
Dr.Server غير متواجد حالياً   قديم 16-03-2003, 12:45 PM
عضو فعال
تاريخ التسجيل: Nov 2002-
#10 (permalink)  

شرح جميل جداً...






__________________
System
KaRiM_NET غير متواجد حالياً   قديم 16-03-2003, 01:55 PM
عضو فعال
تاريخ التسجيل: Feb 2002-
#11 (permalink)  

أشكرك كريم نت .. تسلم






__________________
ومامن كاتب إلا سيفنى ****** ويبقي الدهر ماكتبت يداه
فلا تكتب بكفك غير شيء ****** يسرك يوم القيامة أن تراه
Dr.Server غير متواجد حالياً   قديم 16-03-2003, 03:11 PM
صاحب موقع مهارات سوفت
تاريخ التسجيل: Apr 2004-
#12 (permalink)  

جميل ..

ولكن من لديه ملفات جاهزة للشرح..

وأعذروني على رفع الموضوع ..

وخالص المودة ..






__________________
██████████
██████████
██████████


مهارات سوفت
مهارات سوفت للبرامج وتطوير المواقع والمنتديات والتبادل التجاري.


للتواصل ..
00967733873335

باب الحارة .. للبيع ..!!
مُجَاهِد غير متواجد حالياً   قديم 14-02-2005, 04:06 PM
عضو فعال
تاريخ التسجيل: Dec 2001-
#13 (permalink)  

احسنت اخي العزيز Dr.Server

بارك الله فيك

تحياتي






internet غير متواجد حالياً   قديم 08-03-2005, 05:40 AM
عضو سوبر نشيط
تاريخ التسجيل: Jan 2005-
#14 (permalink)  

تسلم ياغالى والله ربى يعطيك العافية
تحياتى لك
ahmed-samara






__________________
اذاعة ميوزك6 الاغاني
الرابط : www.o69o.com

شبكة كويــ225ــت - تميز وابداع بلاحدود

الرابط : www.kuwait225.com

الايميل : api-@hotmail.com
kuwait225.com غير متواجد حالياً   قديم 08-03-2005, 01:13 PM
عضو نشيط
تاريخ التسجيل: Feb 2002-
#15 (permalink)  

شكرا لك عل هل الشرح
وجزاك الله خير






marioo غير متواجد حالياً   قديم 12-03-2005, 01:44 AM
عضو فعال
تاريخ التسجيل: Dec 2004-
#16 (permalink)  

شرح وافي بارك الله فيك






__________________
لمراسلتي إضغط هنا
php4arabs@hotmail.co.uk
00967712857625
yemen-1-host غير متواجد حالياً   قديم 13-03-2005, 11:20 PM
عضو نشيط
تاريخ التسجيل: Feb 2004-
#17 (permalink)  

مرحبة ..

الأخ / 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
مرهون غير متواجد حالياً   قديم 21-03-2005, 12:39 PM
عضو نشيط
تاريخ التسجيل: Jun 2003-
#18 (permalink)  

شكرا أخوي


درس قمة في الروعة



وإن شاء الله راح أطبق الدرس






__________________
[CENTER]خير الكلام ما قل ودل

::العضوية هذه مشتركة بين أخوة في الله ::[/CENTER]
saeed_ok غير متواجد حالياً   قديم 22-03-2005, 01:29 AM
عضو نشيط
تاريخ التسجيل: Feb 2005-
#19 (permalink)  

اخي الكريم
بارك الله فيك على درسك الرائع والجميل والبسيط
ولكن
للاسف الشديد
لم استطع التطبيق
ففي كل مرة يقول لي

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

فهل اجد الحل لمشكلتي لديكم
وتقبل تحياتي الحارة
واعلم بانني انتظر اجابتك على احر من الجمر






نبراس اليماني غير متواجد حالياً   قديم 30-03-2005, 11:46 AM
عضو فعال
تاريخ التسجيل: Feb 2002-
#20 (permalink)  

ضع الكود اللي استخدمته لو سمحت






__________________
ومامن كاتب إلا سيفنى ****** ويبقي الدهر ماكتبت يداه
فلا تكتب بكفك غير شيء ****** يسرك يوم القيامة أن تراه
Dr.Server غير متواجد حالياً   قديم 30-03-2005, 01:41 PM
عضو نشيط
تاريخ التسجيل: Feb 2005-
#21 (permalink)  

يا مرحبا بيك اخوي
انا في صفحة 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);
?>

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






نبراس اليماني غير متواجد حالياً   قديم 30-03-2005, 05:17 PM
عضو فعال
تاريخ التسجيل: Feb 2002-
#22 (permalink)  

اتوقع فيه تغيير لبعض اعدادات ملف php.ini لديك .. جرب تضيف هيدر للرسالة يحتوي على خانة المرسل

كود PHP:
$header="from:المرسل \r\n";
$header.="Content-type: text/html \r\n";
$to="nibrasalqubati@hotmail.com";
Mail($to,$subject,$message,$header); 






__________________
ومامن كاتب إلا سيفنى ****** ويبقي الدهر ماكتبت يداه
فلا تكتب بكفك غير شيء ****** يسرك يوم القيامة أن تراه
Dr.Server غير متواجد حالياً   قديم 30-03-2005, 07:29 PM
عضو نشيط
تاريخ التسجيل: Feb 2005-
#23 (permalink)  

اخي الكريم
المعذرة تعبتك معاي
ويبدو انه ما فيش فائدة
والمشكلة لا حل لها تقريبا
هذه المرة الخطا نفس الاول تقريبا وهو
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

يا ريت تساعدوني
وتقبلوا من محبكم في الله من ارض الصين نبراس اليماني فائق الحب والتقدير والاحترام






نبراس اليماني غير متواجد حالياً   قديم 31-03-2005, 08:37 AM
عضو نشيط
تاريخ التسجيل: Nov 2003-
#24 (permalink)  

بارك الله فيك على هذا الدرس


شكـــــــــــراً






__________________
حياتي بلا أغاني
www.No4Songs.ws
خوخ غير متواجد حالياً   قديم 31-03-2005, 12:54 PM
عضو فعال
تاريخ التسجيل: Feb 2002-
#25 (permalink)  

عزيزي نبراس إذا كان هدفك أن تتعلم PHP لنفسك وليس بغرض عمل السكربت فقط

فقم بإنزال البرامج ومشغلات PHP على جهازك حتى ولو كان ويندوز وأكمل تعليمك

وبالنسبة للدالة mail فهناك برنامج صغير جدا يقوم بتفعيلها على جهازك الشخصي وتصير ترسل من السكربت على بريد الاوت لوك اكسبرس بدون انترنت
ابحث في سوالف عن
Ability Server
وقم بتركيبه على جهازك






__________________
ومامن كاتب إلا سيفنى ****** ويبقي الدهر ماكتبت يداه
فلا تكتب بكفك غير شيء ****** يسرك يوم القيامة أن تراه
Dr.Server غير متواجد حالياً   قديم 31-03-2005, 09:29 PM
موضوع مغلق


 

أدوات الموضوع

تعليمات المشاركة
لا تستطيع كتابة مواضيع
لا تستطيع كتابة ردود
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

كود [IMG] متاحة
كود HTML معطلة
Trackbacks are متاحة
Pingbacks are متاحة
Refbacks are متاحة



الساعة الآن: 10:23 PM بتوقيت المملكة العربية السعودية