السلام عليكم : في الحقيقة قررت أن أبدأ بكتابة سلسلة من الدروس التطبيقية في لغة الـ PHP واسئل الله أن يوفقني ! واعتقد أن طريقة الدروس التطبيقية هي الأفضل ! لأنها تثبت في ذهن الطالب الأكواد , أنا لست محترفاً في اللغة إنما أنا طالب مثلي مثلكم ولكن كما يُقال الإنسان يتعلم عندما يعلم الأخرين ! لذا أحببت أن أساعد كل المبتدئين في لغة الـ PHP عن طريق هذا الدرس التطبيقي . في هذا الدرس سنتعلم برمجة سكريبت يقوم من خلاله الأدمن بإدراج مواضيع ويقوم الزوار بكتابة ردودهم ! يعني تقريباً مثل فكرة المنتديات ولكن بشكل مبسط , والهدف من هذه الدروس كما قلت تعلم الأكواد وتكوين فكرة الكود في رأسك المبرمج قبل تطبيقه . ماسنقوم ببرمجته في هذا السكريبت : 1- ملف install متعدد الصفحات . 2- ملف خاص للأدمن يكون كلوحة تحكم . 3- ملف يعرض المواضيع . 4- ملف الردود . هذا كان استعراضاً سريعاً لما سنقوم ببرمجته والآن سأبدأ باسم الله الرحمن الرحيم : كما تعلمون في البداية يجب علينا برمجة ملف الـ install ولكن قبل ملف الــ install يجب أن يكون هناك ملف يحتوي على معلومات قاعدة البيانات والذي يُدعى config.php , برمجته سهلة جداً ! أو باللغة العامية ليست برمجته بل كتابته سهلة جداً . بسم الله الرحمن الرحيم : كتابة ملف config.php 1- نُنشأ في قاعدة البيانات القاعدة الذي نود العمل عليها . 2- من الأفضل وضع ماسنطبقه في مجلد لوحده . 3- داخل المجلد نفتح المفكرة ونكتب الكود التالي :
<?$db_host = "localhost"; // هنا نكتب اسم المستضيف وعادةً يكون localhost$db_name= "project"; // هناك نكتب اسم قاعدة البيانات$db_user= "root"; // هنا نكتب اسم مستخدم اقاعدة البيانات$db_pass= "0000"; // هنا نكتب كلمة مرور اسم مستخدم قاعدة البيانات$connect = @mysql_connect($db_host,$db_user,$db_pass);$select = @mysql_select_db($db_name);?>
$db_host = "localhost"; // هنا نكتب اسم المستضيف وعادةً يكون localhost
$db_name= "project"; // هنا نكتب اسم قاعدة البيانات
$db_user= "root"; // هنا نكتب اسم مستخدم اقاعدة البيانات$db_pass= "0000"; // هنا نكتب كلمة مرور اسم مستخدم قاعدة البيانات
$connect = @mysql_connect($db_host,$db_user,$db_pass);$select = @mysql_select_db($db_name);
include ('config.php');
$connect = @mysql_connect($db_host,$db_user,$db_pass);
$select = @mysql_select_db($db_name);
<meta http-equiv="Content-Type" content="text/html; charset=windows-1256"><CENTER><body bgcolor="#E0DFE3"><font face="Tahoma" size="2">
<?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>';}}
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>';}}
if ($sql) { echo 'كل شيء تمام ';
if ($_GET['step'] == 2){
$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>';}}
$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);
INT
NOT NULL
UNSIGNED
AUTO_INCREMENT
VARCHAR
LONGTEXT
PRIMARY KEY
if ($_GET['step'] ==3){
echo '<form method=POST action=install?step=4><div align=center><table border=1 width=54% id=table1 dir=rtl><tr><td colspan=2><p align=center><font size=2>يُرجى تعبئة معلومات المشرف العام</td></tr><tr><td width=22% align=center><font size=2>اسم المستخدم<font size=2> :</td><td width=61%><p align=center><input type=text name=T1 size=45></td></tr><tr><td width=22% align=center><font size=2>كلمة المرور :</td><td width=61%><p align=center><input type=password name=T2 size=45></td></tr><tr><td width=22% align=center><font size=2>تأكيد كلمة المرور : </td><td width=61%><p align=center><input type=password name=T3 size=45></td></tr></table></div><input type=submit value=تابع name=B1><input type=reset value=مسح الحقول name=B2></p></form>';}
if ($_GET['step'] == 4){if (empty($_POST['T1']) or empty($_POST['T2']) or empty($_POST['T3'])){echo '<BR><B><FONT COLOR=red> يُرجى تعبئة كافة الحقول </FONT></BR></B>';echo '<BR><B><FONT COLOR=green><a href=install?step=3>العودة للخطوة السابقة</a></FONT></BR></B>';}elseif ($_POST['T2'] != $_POST['T3']){echo '<BR><B><FONT COLOR=red> كلمتا المرور غير متطابقتان </FONT></BR></B>';echo '<BR><B><FONT COLOR=green><a href=install?step=3>العودة للخطوة السابقة</a></FONT></BR></B>';}else{$check = "select * from admin";$cquery = mysql_query($check);$num = mysql_num_rows($cquery);if ($num > 1){echo '<BR><B><FONT COLOR=RED>لا يمكنك التسجيل فهناك مدير عام سابق</FONT></BR></B>';}else{$user = $_POST['T1'];$pass = md5($_POST['T2']);$reg = "INSERT INTO admin(id,user,pass) VALUES(NULL,'$user','$pass')";$reg_query = MYSQL_QUERY($reg);if ($reg_query){echo '<BR><B><FONT COLOR=green>تم الستجيل بنجاح ,, يُرجى حذف ملف install.php </FONT></BR></B>';echo '<BR><B><FONT COLOR=green><a href=admin.php>الإنتقال للوحة التحكم</a></FONT></BR></B>';}else{echo '<BR><B><FONT COLOR=RED>لم يتم التسجيل هناك مشكلة</FONT></BR></B>';}}}}
if (empty($_POST['T1']) or empty($_POST['T2']) or empty($_POST['T3'])){echo '<BR><B><FONT COLOR=red> يُرجى تعبئة كافة الحقول </FONT></BR></B>';echo '<BR><B><FONT COLOR=green><a href=install?step=3>العودة للخطوة السابقة</a></FONT></BR></B>';}elseif ($_POST['T2'] != $_POST['T3']){echo '<BR><B><FONT COLOR=red> كلمتا المرور غير متطابقتان </FONT></BR></B>';echo '<BR><B><FONT COLOR=green><a href=install?step=3>العودة للخطوة السابقة</a></FONT></BR></B>';}
else{$check = "select * from admin";$cquery = mysql_query($check);$num = mysql_num_rows($cquery);if ($num > 1){echo '<BR><B><FONT COLOR=RED>لا يمكنك التسجيل فهناك مدير عام سابق</FONT></BR></B>';
}else{$user = $_POST['T1'];$pass = md5($_POST['T2']);$reg = "INSERT INTO admin(id,user,pass) VALUES(NULL,'$user','$pass')";
$reg_query = MYSQL_QUERY($reg);
if ($reg_query){echo '<BR><B><FONT COLOR=green>تم الستجيل بنجاح ,, يُرجى حذف ملف install.php </FONT></BR></B>';echo '<BR><B><FONT COLOR=green><a href=admin.php>الإنتقال للوحة التحكم</a></FONT></BR></B>';}else{echo '<BR><B><FONT COLOR=RED>لم يتم التسجيل هناك مشكلة</FONT></BR></B>';}}}}