والآن ننتقل لملف الـ install وهي ملف طريقة برمجته طويلة .
أول شيء نضع هذا الكود :
كود PHP:
<meta http-equiv="Content-Type" content="text/html; charset=windows-1256">
<CENTER>
<body bgcolor="#E0DFE3">
<font face="Tahoma" size="2">
هذا الكود هو كود HTML وقد وضعته في بداية الصفحة لكي تتم التأثيرات على كل الصفحة وفي جميع المراحل ! المهم شرح الكود هو أول شيء ترميز اللغة العربية ! لكي لا تظهر الحروف العربية بطريقة مشفرة أو بترميز مختلف !
وكذلك لون الخلفية ! حددناه باللون الرمادي ! وجعلنا كل شيء يكون بالمنتصف والخط بشكل عام سيكون تاهوما ! إلى الآن اعتقد لا مشاكل !! :1power:
نضيف بعدها الكود التالي :
كود PHP:
<?
include('config.php');
if ($_GET['step'] <1)
{
echo 'أهلاً وسهلاً بك ';
echo '<BR>';
if ($connect){
echo '<BR><B><FONT COLOR=green>- تم الإتصال بقاعدة البيانات</FONT></BR></B>';
}else{
echo '<BR><B><FONT COLOR=red>- هناك خطأ لم يتم الإتصال بقاعدة البيانات</FONT></BR></B>';
}
if ($select){
echo '<BR><B><FONT COLOR=green>- وجد البرنامج قاعدة البيانات المحددة</FONT></BR></B>';
echo '<BR><B><FONT COLOR=green><a href=install?step=2>اضغط هنا للانتقال للخطوة الثانية</a></FONT></BR></B>';
}else{
echo '<BR><B><FONT COLOR=red>- لم يجد البرنامج قاعدة البيانات المحددة</FONT></BR></B>';
}
}
كود طويل صحيح !! لنشرح على مهل !
كود PHP:
include('config.php');
هنا عملنا تضمين لملف الـ config الذي قمنا ببرمجته مسبقاً لأننا يجب أن نكون متلصين بقاعدة البيانات هنا !
كود PHP:
if ($_GET['step'] <1)
{
هنا حددنا أنه إذا كان المتغير step والذي يعني رقم الخطوة أصغر من الرقم واحد فأنه سيعرض لنا الكوود التالي :
كود PHP:
echo 'أهلاً وسهلاً بك ';
echo '<BR>';
$_GET ويعني أخذ قيمة المتغير من شريط العنوان ! يعني انت لو طلبت www.....com/install.php
في هذه الحالة المتغير step أصغر من الواحد ولكن لو طلبت الخطوة الثانية www....com/install.php?step=2
ستكون قيمة المتغير $_GET['step'] تساوي 2 ! وننتقل لخطوة أخرى !
المهم نتابع شرح الكود !
بعدها سيتأكد من أن الإتصال بقواعد البيانات قد تم وأن القاعدة اللي محددينها موجودة ! ولو تم كل هذا يظهر لنا رابط نضغطه لكي ننتقل للخطوة التالية ! وماشرحته هذا كوده
كود PHP:
if ($connect){
echo '<BR><B><FONT COLOR=green>- تم الإتصال بقاعدة البيانات</FONT></BR></B>';
}else{
echo '<BR><B><FONT COLOR=red>- هناك خطأ لم يتم الإتصال بقاعدة البيانات</FONT></BR></B>';
}
if ($select){
echo '<BR><B><FONT COLOR=green>- وجد البرنامج قاعدة البيانات المحددة</FONT></BR></B>';
echo '<BR><B><FONT COLOR=green><a href=install?step=2>اضغط هنا للانتقال للخطوة الثانية</a></FONT></BR></B>';
}else{
echo '<BR><B><FONT COLOR=red>- لم يجد البرنامج قاعدة البيانات المحددة</FONT></BR></B>';
}
}
دائماً عندما يكون لدينا متغير بداخلة كود يقوم بشيء يمكننا التأكد من حدوثه من خلال وضع المتغير بين قوسين !
يعني
كود PHP:
if ($sql) { echo 'كل شيء تمام ';
وهنا نقصد لو المتغير sql اشتغل تمام ! اطبع كل شيء تمام !
أريد التنبيه على شيء أنه في حالة عدم التمكن من الإتصال ستظهر عبارة " هناك خطأ لم يتم الإتصال بقاعدة البيانات" باللون الأحمر دون أي شيء أخر ولكن لو لم نضع في ملف الـ config إشارة @ قبل الدالة mysql_connect لظهرت لنا عبارة من النظام تخبرنا بفشل الإتصال ! وهنا تكمن فائدة إشارة @.
هنا نكون انتهينا من شرح الخطوة الأولى والآن ننتقل في الخطوة الثانية !
كود PHP:
if ($_GET['step'] == 2)
{
هن نخبره أنه لو كانت قيمة المتغير $_GET['step'] تساوي 2 فسيقوم ببعض الأعمال !
كود PHP:
$sql = "CREATE TABLE admin (
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
user varchar(50) NOT NULL,
pass varchar(50) NOT NULL,
PRIMARY KEY(id)
)";
$query = MYSQL_QUERY($sql);
$sqlt = "CREATE TABLE thread (
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
title varchar(25) NOT NULL,
text longtext NOT NULL,
date varchar(100) NOT NULL,
PRIMARY KEY(id)
)";
$queryt = MYSQL_QUERY($sqlt);
$sqlr = "CREATE TABLE reply (
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
thread_id INT NOT NULL,
replier_name varchar(200) NOT NULL,
reply_date varchar(200) NOT NULL,
reply_text varchar(200) NOT NULL,
PRIMARY KEY(id)
)";
$queryr = MYSQL_QUERY($sqlr);
if ($query){
echo '<BR><B><FONT COLOR=green> تم إنشاء جدول المدير العام بنجاح</FONT></BR></B>';
}else{
echo '<BR><B><FONT COLOR=red>هناك خطأ لم يتم إنشاء جدول المدير العام </FONT></BR></B>';
}
if ($queryt){
echo '<BR><B><FONT COLOR=green> تم إنشاء جدول المواضيع بنجاح</FONT></BR></B>';
}else{
echo '<BR><B><FONT COLOR=red> هناك خطأ لم يتم إنشاء جدول المواضيع</FONT></BR></B>';
}
if ($queryr){
echo '<BR><B><FONT COLOR=green> تم إنشاء جدول الردود بنجاح</FONT></BR></B>';
echo '<BR><B><FONT COLOR=green><a href=install?step=3>اضغط هنا للانتقال للخطوة الثالثة</a></FONT></BR></B>';
}else{
echo '<BR><B><FONT COLOR=red> هناك خطأ لم يتم إنشاء جدول الردود بنجاح</FONT></BR></B>';
}
}
هذا الكود بأكمله وسأقوم بالشرح على مهل !
في هذه الخطوة يجب على البرنامج إنشاء ثلاثة جداول ! واحد سيحتوي على معلومات المشرف العام ! والثاني يحتوي على المواضيع ! والثالث يحتوي على الردود !
كود PHP:
$sql = "CREATE TABLE admin (
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
user varchar(50) NOT NULL,
pass varchar(50) NOT NULL,
PRIMARY KEY(id)
)";
$query = MYSQL_QUERY($sql);
$sqlt = "CREATE TABLE thread (
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
title varchar(25) NOT NULL,
text longtext NOT NULL,
date varchar(100) NOT NULL,
PRIMARY KEY(id)
)";
$queryt = MYSQL_QUERY($sqlt);
$sqlr = "CREATE TABLE reply (
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
thread_id INT NOT NULL,
replier_name varchar(200) NOT NULL,
reply_date varchar(200) NOT NULL,
reply_text varchar(200) NOT NULL,
PRIMARY KEY(id)
)";
$queryr = MYSQL_QUERY($sqlr);
استخدمنا دالة
CREATE TABLE لكي ننشىء الجدول المراد !
وسأشرح هنا بعض الخاصيات في الحقول
[ وتعني هذه الخاصية أن هذا الحقل يجب أن يحتوي فقط لعلى أرقام PHP]INT[/PHP]
وتعني هذه الخاصية أنه يجب أن لا يكون الحقل فارغاً وتعني هذه الخاصية أن قيمة العدد يجب أن لا تكون سالبة ! وتعني هذه الخاصية أن التعداد سيكون تلقائي !
وتعني هذه الخاصية أن الحقل يحتوي على أرقام وحروف ! ويمكنك كتابة عدد الأحرف والأرقام بين قوسين (25) كمثال !
وتعني الحقل سيحتوي على نص طويل
وتعني جعل أحد الحقول هو المفتاح الأساسي في الجدول !
هكذا شرحنا كل الخصائص الذي استخدمناها لكل حقل من الجدول ! ولكن دالة CREATE TABLE لا تقوم بوظيفتها دون دالة مساعدة ! وهذه الدالة هي mysql_query !
لذلك قمت بوضع هذه الدالة بعد كل دالة إنشاء لجدول !! ومن ثم تأكدت إذا تم العمل بشكل صحيح فليكتب تم كما في الخطوة الأولى تماماً .
يُتبع .
تحياتي
فراس