{myadvertisements[zone_1]}
 
تقييم الموضوع:
  • 0 صوت - 0 بمعدل
  • 1
  • 2
  • 3
  • 4
  • 5
دروس و نقاش في لغة ال PHP
ابن سوريا غير متصل
يا حيف .. أخ ويا حيف
*****

المشاركات: 8,151
الانضمام: Dec 2001
مشاركة: #5
دروس و نقاش في لغة ال PHP
الأمثلة كلها موجودة على موقعي :
http://alkadah.com/php

الزميلات و الزملاء الأعزاء :

سأقوم بشرح حول لغة PHP و MYSQL من خلال مثال عملي سأقوم بتعديله شيئاً فشيئاً و تطويره خلال الشرح.

أولاً لنعتبر أننا نريد إنشاء برنامج صغير على موقع لإستقبال رسائل الأعضاء و حفظها ثم معاينتها فيما بعد من قبل مدير للموقع.

أولاً علينا تعريف المعطيات في قاعدة المعطيات , من الواضح أننا بحاجة لtable لحفظ رسائل الزوار. لكننا أيضاً بحاجة ل TABLE تحمل معلومات الأعضاء التي تسمح لنا أن نعرف إذا كان العضو مديراً أو لا.

لنعتبر أن قاعدة المعطيات تسمى : v_test
و نعتبر سيرفر قاعدة المعطيات هو : localhost
و مستخدم قاعدة المعطيات : root
و كلمة السر : test

سنقوم بإنشاء ملف php لحفظ هذه المعلومات حتى لا نقوم بإعادة تعريفها في بقية الصفحات كل مرة.
لننشئ الملف تحت اسم :
config.php
و نضع فيه المتحولات التالية كما يلي :

// START CONFIG.php \

$dbname = "test"; // Database name
$dbuser = "root"; // Database username
$dbpw = "test"; // Database password
$dbhost = "localhost"; // Database server

// END CONFIG.php \
?>

و لنعتبر أن لدينا TABLE اسمها v_message
و هذا ال sql request للقيام بإنشائها :

CREATE TABLE v_message (
id bigint(20) NOT NULL auto_increment,
name varchar(40) NOT NULL default '',
email varchar(40) NOT NULL default '',
dateline bigint(30) NOT NULL default '0',
subject varchar(75) NOT NULL default '',
message longtext NOT NULL,
PRIMARY KEY (id),

) TYPE=MyISAM;

الآن سنقوم بإنشاء صفحة خاصة باستقبال الرسائل و حفظها في قاعدة المعطيات.
المبدأ يقوم بإنشاء "فورمولير" FORM بال HTML يحتوي المعلومات التي يكتبها الزائر ثم إرسالها للسيرفر للقيام بمعالجتها.

سأبدأ بالشرح نقطة نقطة , ثم أضع في النهائية النسخة الكاملة للملف:

نبدأ بال HTML الذي يجب وصعه (يمكننا طبعاً وضع كود ال HTML في ملف خاص به و هي أفضل طريقة لفصل ال HTML عن ال PHP أي فصل ال PRESENTATION عن المعالجة أو ال PROGRAMMATION) و لكن هذه العملية صعبة بعد الشيء لمثال للشرح.

ال FORM بسيط و يجب أن يحتوي خانات لوضع الإسم و عنوان البريد الإلكتروني و الرسالة:


http://www.alkadah.com/php/guestbook.html

سأقوم هنا بشرح هذا الفورميلير.
يمكن ملاحظة أن هناك خانات من نوع INPUT و TEXTAREA و قد عرفت لها NAME
قيمة هذا ال NAME مهمة جداً فيما بعد عند معالجة محتويات هذا الفورمولير.

لننظر الآن لأول سطر الذي يحتوي تعريف ال FORM :


كما ترى فإن هناك خاصيتين لهذا الفورميلير :
الأولى هي METHOD و تحتوي القيمة POST , هذا يعني أن الفورميلير و حين إرسالها للمعطيات عند الضغط على زر "GO !" فإن هذه المعطيات يترسل كمتحولات VARIABLES يمكن للصفحة المتلقية التعامل معها كذلك و سيكون اسم كل متحول هو قيمة الخاصية NAME لكل خانة داخل الفورميلير.

الثانية هي ACTION و هذه الخاصية تقوم بتعريف ما يجب فعله عند الضغط على زر من نوع SUBMIT هنا فإننا نقول للفورميلير أن يبعث المعطيات للصفحة المسماة guestbook.php و التي ستقوم بمعالجتها.


ضع الكود السابق في صفحة html مثلاً :
guestbook.html

هنا تعرفنا على الطريقة الأولى لإرسال المتحولات بين صفحتين , هناك طرق أخرى مثلاً وضع هذه المتحولات في العنوان للصفحة, أو وضعها بكوكيز ..
سنرى بعد قليل طرق أخرى لتبادل المتحولات بين الصفحات.

الآن سنبدأ بكتابة برنامج ال PHP الذي سيقوم بمعالجة الفورميلير السابق : guestbook.php

بالبداية سنبدأ بتعريف الصفحة التي تحتوي على معلومات قاعدة المعطيات و التي قمنا بإنشائها في بداية هذا الشرح أي config.php و ذلك بالتعليمة التالية:

require "./config.php";

علينا فيما بعد عمل إتصال بقاعدة المعطيات و ذلك على دفعتين:
أولاً نقوم بالإتصال بسيرفر قاعدة المعطيات.
ثانياً نقوم بإختيار القاعدة التي تهمنا.

mysql_connect($dbhost, $dbuser, $dbpw) or die(mysql_error());
mysql_select_db($dbname) or die(mysql_error());

ثانياً علينا أن نحفظ المعلومات الآتية من صفحة ال HTML في متحولات.
يمكن تلقي هذه المعلومات من خلال ال VECTOR المعرف من خلال السيرفر تحت اسم _POST

$v_name = $_POST['v_name'];
$v_email = $_POST['v_email'];
$v_subject = $_POST['v_subject'];
$v_message = $_POST['v_message'];

الآن يجب أن نعرف الوقت الحالي من خلال ال function : time()
$v_time = time();

أخيراً سنقوم بكتابة ال request الذي سيقوم بحفظ المعلومات التي حصلنا عليها في قاعدة المعطيات:

mysql_query("INSERT INTO v_message values('','$v_name','$v_email','$v_time','$v_message','$v_message')") or die(mysql_error());

ثم سنبعث الآن للمتصفح رسالة تقول بأن الحفظ تم تم بنجاح:

echo "Your message was saved .. return to return to Guest Book Page";

الآن إليك كود هذه الصفحة كاملاً:


require "./config.php";
mysql_connect($dbhost, $dbuser, $dbpw) or die(mysql_error());
mysql_select_db($dbname) or die(mysql_error());
$v_name = $_POST['v_name'];
$v_email = $_POST['v_email'];
$v_subject = $_POST['v_subject'];
$v_message = $_POST['v_message'];
$v_time = time();

mysql_query("INSERT INTO v_message values('','$v_name','$v_email','$v_time','$v_subject','$v_message')") or die(mysql_error());

echo "Your message was saved .. return to return to Guest Book Page";
?>

05-20-2004, 07:58 PM
عرض جميع مشاركات هذا العضو إقتباس هذه الرسالة في الرد
{myadvertisements[zone_3]}


الردود في هذا الموضوع
دروس و نقاش في لغة ال PHP - بواسطة ابن سوريا - 05-18-2004, 09:24 PM,
دروس و نقاش في لغة ال PHP - بواسطة جادمون - 05-18-2004, 10:20 PM,
دروس و نقاش في لغة ال PHP - بواسطة ابن سوريا - 05-20-2004, 07:01 PM,
دروس و نقاش في لغة ال PHP - بواسطة ابن سوريا - 05-20-2004, 07:35 PM,
دروس و نقاش في لغة ال PHP - بواسطة ابن سوريا - 05-20-2004, 07:58 PM
دروس و نقاش في لغة ال PHP - بواسطة ابن سوريا - 05-20-2004, 08:05 PM,
دروس و نقاش في لغة ال PHP - بواسطة ابن سوريا - 05-23-2004, 03:31 AM,
دروس و نقاش في لغة ال PHP - بواسطة ابن سوريا - 05-23-2004, 03:36 AM,
دروس و نقاش في لغة ال PHP - بواسطة ابن سوريا - 05-30-2004, 09:11 AM,
دروس و نقاش في لغة ال PHP - بواسطة جادمون - 06-05-2004, 12:49 AM,
دروس و نقاش في لغة ال PHP - بواسطة جادمون - 06-05-2004, 02:38 PM,
دروس و نقاش في لغة ال PHP - بواسطة ليلين - 06-05-2004, 03:03 PM,
دروس و نقاش في لغة ال PHP - بواسطة جادمون - 06-06-2004, 04:41 PM,
دروس و نقاش في لغة ال PHP - بواسطة ابن الشام - 08-02-2005, 03:22 AM,
دروس و نقاش في لغة ال PHP - بواسطة كمبيوترجي - 08-02-2005, 03:31 PM,
دروس و نقاش في لغة ال PHP - بواسطة ابن سوريا - 01-07-2006, 03:06 PM,

الانتقال السريع للمنتدى:


يتصفح هذا الموضوع من الأعضاء الان: بالاضافة الى ( 1 ) زائر
{myadvertisements[zone_2]}
إتصل بنا | نادي الفكر العربي | العودة للأعلى | | الوضع البسيط (الأرشيف) | خلاصات التغذية RSS