بسم الله الرحمن الرحيم :
سوف نبدأ الآن بالقسم الثاني من الدرس وسنتعلم فيه بإذن الله
1- برمجة ملف login.php
2- برمجة جزء من ملف admin.php
3- برمجة ملف show.php الخاص بعرض المواضيع .
سنبدأ الآن بملف login.php
نضع هذا الكود :
كود PHP:
<?
session_start();
include('config.php');
if ($_GET['login'] <1){
في أول سطر نُخبر البرنامج بدأ استخدام نظام الجلسات !
وفي السطر الثاني علمنا تضمين لملف config.php لأنه يلزمنا الإتصال بقاعدة البيانات هنا !
وثالث سطر ! كما فعلنا في ملف install.php نُعطي البرنامج أمراً أنه لو كان المتغير login أصغر من الواحد فسيقوم بالتالي :
كود PHP:
echo '
<meta http-equiv="Content-Type" content="text/html; charset=windows-1256">
<body bgcolor="#E0DFE3">
<form method="POST" action="login.php?login=1" dir="rtl">
<p align="center"><font face="Tahoma" size="2" color="Green">تسجل دخول المشرف العام</font></p>
<p align="center"><font face="Tahoma"><font size="2">اسم المستخدم : </font><input type="text" name="T1" size="20"></font></p>
<p align="center"><font face="Tahoma"><font size="2">كلمة المرور : </font>
<input type="password" name="T2" size="20"></font></p>
<p align="center"><input type="submit" value="الدخول" name="B1"><input type="reset" value="مسح الحقول" name="B2"></p>
</form>
';
}
وشرحه هذا الكود خاص بفورم تسجيل الدخول واعتقد أنه واضح ! حيث لدينا مستطيل لكتابة اسم المستخدم اسمه T1 ومستطيل أخر لكتابة كلمة المرور اسمه T2
ولاننسى أن عمل الفورم هو الذهاب إلى login.php?login=1 ومن ثم وضعنا اكي نخبر البرنامج أن شرط المتغير login أصغر من الواحد انتهى !
ومن ثم لدينا قسم ثاني وهو المتغير login يساوي 1 !
كود PHP:
if ($_GET['login'] ==1){
$user = $_POST['T1'];
$pass = md5($_POST['T2']);
في السطر الأول نُخبر البرنامج أنه في حالة كون المتغير login يساوي 1 وفي السطر الثاني قُمت بتعريق المتغير user على أنه مستطيل كتابة اسم المستخدم T1
طبعاً يمكنكم عدم القيام بهذه الخطوة ولكن كنوع من التنسيق ! وفي السطر الثالث قمت بتعرف المتغير pass أنه يساوي مستطيل كتابة كلمة المرور ولكن بعد التشفير
كما فعلنا في ملف install.php وهنا قمنا بذلك من أجل المطابقة بين كلمة المرور التي ثبتناها أثناء التنزيل والتي وُضعت في قواعد البيانات بشكل مشفر كما تذكرون !
والكلمة التي ندخلها في مستطيل كتابة كلمة المرور .
والآن نكتب هذا الكود :
كود PHP:
$con = "Select * from admin WHERE user= '" .$user."' AND pass= '" .$pass ."'";
$query = mysql_query($con);
$row = mysql_num_rows($query);
في السطر الأول قمنا باختيار كل المعلومات في جدول admin والتي فيها اسم المستخدم يساوي المتغير user وكلمة المرور تساوي المتغير pass
وفي السطر الثاني قُمنا باستخدام الوسيط لكي يقوم بالإختيار الذي كتبناه في السطر الأول ! كُنا قد اتفقنا أن دالة SELECT & INSERT تحتاج لوسيط صحيح؟؟
وفي السطر الثالث قُمنا بعد عدد النتائج !!
والآن نكتب الكود التالي :
كود PHP:
if ($row > 0){
session_register(admin);
echo '<CENTER>';
echo '<BR>';
echo '<BR><B><FONT COLOR=green><a href=admin.php>اضغط هنا للدخول للوحة التحكم</a></FONT></BR></B>';
}else{
echo '<CENTER>';
echo '<BR>';
echo '<BR><B><FONT COLOR=red><a href=login.php>هناك خطأ في اسم المستخدم أو كلمة المرور يُرجى التأكد</a></FONT></BR></B>';
}
هنا في السطر الأول نقول له أنه لو كان عدد النتائج أكبر من الصفر ومن ثم في السطر الثاني قُم بتسجيل جلسة عندك اسمها admin !
وفي السطر الثالث والرابع والخامس أكواد HTML ! ومن ثم في السطر السادس ! هناك احتمال أن يكون عدد النتائج ليس أكبر من صفر ! فنحن هنا
استخدمنا else يعني نحن نريد إما أو يكون أكبر من الصفر لكي يقوم بشيء معين أو غير ذلك فليكتب التالي الذي هو موجود في السطر
السابع و الثامن والتاسع !
ولاننسى إغلاق الشرط الذي هو غير ذلك من خلال السطر الأخير.
وطبعاً لاننسى إغلاق الشرط الرئيسي وهو إذا كان المتغير login يساوي الواحد ! وكذلك إغلاق وسم PHP عن طريق
والآن انتهينا من برمجة ملف login.php .
الخطوة الثانية برمجة جزء من ملف admin.php وهو الجزء الخاص بإضافة المواضيع من قبل الأدمن فقط !
بسم الله :
برمجة ملف admin.php
نكتب أول شيء الكود التالي :
كود PHP:
<?
session_start();
include('config.php');
if (!session_is_registered(admin)){
include ('login.php');
}else{
في السطر الأول قلنا للبرنامج أننا سنستخدم نظام الجلسات وفي السطر الثاني كالعادة عملنا تضمين لملف config.php لأننا نحتاج للإتصال بالقاعدة !
وفي السطر الثالث نقول للبرنامج إذا لم تُسجل الجلسة التي اسمها admin فنرجو تضمين ملف login.php ! وهذا في السطر الثالث .
كلمة إذا لم يتم برمجياً تساوي إشارة !
وفي السطر الرابع أغلقنا أول شرط وهو إذا لم يتم تسجيل الجلسة وقلنا له غير ذلك ! قُم بالتالي :
كود PHP:
echo '
<html dir="rtl">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1256">
<body bgcolor="#E0DFE3">
<p align="center"><font face="Tahoma" color=green>أهلاً وسهلاً بك في لوحة التحكم</font></p>
<p align="center"> </p>
<table border="1" width="100%" id="table1" dir="rtl">
<tr>
<td align="center"><font face="Tahoma" size="2" color="#FF0000"><a href=admin.php?add=1>إضافة
موضوع جديد</font></td></a>
<td align="center"><font face="Tahoma" size="2" color="#FF0000"><a href=admin.php?show=1>التحكم
في المواضيع</font></td></a>
<td align="center"><font face="Tahoma" size="2" color="#FF0000"><a href=admin.php?show=2>التحكم
في الردود</font></td></a>
</tr>
</table>
';
هنا سيقوم بطباعة كود ال HTML والذي يحتوي على القائمة الرئيسية لملف الأدمن !
والآن سنبدأ بخيارات ملف الأدمن !!
نكتب الكود التالي :
كود PHP:
if ($_GET['add'] ==1){
echo '
<html dir="rtl">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1256">
<body bgcolor="#E0DFE3">
<form method="POST" dir="rtl" action="admin.php?add=2">
<p> </p>
<p align="center"><font color="#008000" face="Tahoma"><span lang="en-us">
<font size="2"> </font></span><font size="2">عنوان الموضوع : </font>
<input type="text" name="T1" size="32"></font></p>
<p align="center"><font face="Tahoma"><font size="2" color="#008000">النص :
</font><font color="#008000"><textarea rows="17" name="S1" cols="53"></textarea></font></font></p>
<p align="center"><input type="submit" value="ارسل" name="B1"><input type="reset" value="مسح الحقول" name="B2"></p>
</form>
'
;
}
في السطر الأول قلنا له إذا كان المتغير add يساوي 1 , ننتقل للسطر الثاني والذي يحتوي على طباعة لكود HTML وهذا الكود هو فورم كتابة
موضوع جديد يحتوي على مستطيل كتابة عنوان الموضوع اسمع T1 ومربع كتابة الموضوع واسمه S1 طبعاً أول ثلاثة أسطر من كود ال HTML هي تعريق الترميز والجهة من اليمين إلى اليسار ولون الخلفية ! يعني كما فعلنا من ملف install.php
أما الباقي فهو الفورم ! ولاننسى أن الفورم سينقلنا إلى admin.php?add=2 !!
ولآن ننتقل لبرمجة الشرط الثاني وهو إذا كان المتغير addمساوياً 2 ,, نكتب الكود التالي :
كود PHP:
if ($_GET['add'] ==2){
والآن سنتحقق من أن مستطيل عنوان الموضوع ومربع كتابة نص الموضوع أنهما غير فارغان من خلال !
كود PHP:
if (empty($_POST['T1']) or empty($_POST['S1'])){
echo '<CENTER>';
echo '<BR>';
echo '<BR><B><FONT COLOR=red><a href=admin.php?add=1>يُرجى تعبئة جميع الحقول </a></FONT></BR></B>';
أما الآن إذا لم يكونا فارغين ! فيقوم بالتالي :
كود PHP:
}else{
$date = date('j/n/Y');
$action = "INSERT INTO thread(id,title,text,date) VALUES(NULL,'$_POST[T1]','$_POST[S1]','$date')";
$insert = mysql_query($action);
في السطر الأول كتبنا شرط أنه غير ذلك ! ويعني أنهم إذا لم يكونا فارغين !
أما السطر الثاني قمنا بتعرف المتغير date على أنه التاريخ ! وسيكتب فيه تاريخ اليوم من الشكل 16/10/2006
أما السطر الثالث سيقوم بإضافة المعلومات والتي هي عنوان الموضوع ونص الموضوع وتاريخ كتابته إلى جدول thread !
والسطر الرابع كما اتفقنا دالة SELECT && INSERT لازمها وسيط ! قُمنا بكتابة الوسيط اللذي سوف يطبق إضافة المعلومات !
الآن نكتب الكود التالي :
كود PHP:
if ($insert){
echo '<CENTER>';
echo '<BR>';
echo '<BR><B><FONT COLOR=GREEN>تمت إضافة الموضوع بنجاح</a></FONT></BR></B>';
echo '<BR><B><FONT COLOR=GREEN><a href=admin.php?show=1>اضغط هنا للانتقال لصفحة المواضيع</a></FONT></BR></B>';
}else{
echo '<CENTER>';
echo '<BR>';
echo '<BR><B><FONT COLOR=red><a href=admin.php?add=1>لم يتم إضافة الموضع ,, حدثت مشكلة </a></FONT></BR></B>';
}
}
}
}
في السطر الأول نتأكد من أن إضافة المعلومات قد تم ! فقلنا له لو تمت إضافة المعلومات ! اطبع السطر الثاني والثالث والرابع ! وغير ذلك !
اطبع السطر السادي والسابع والثامن ! وفي الأخير أغلقنا وسم غير ذلك التي تخص أن مكان كتابة عنوان الموضوع ونص الموضوع غير فارغان ومن
ثم أغلقنا التأكد من إضافة المعلومات ! ومن ثم أغلقنا شرط أن المتغير add يساوي 2 ! ومن ثم أغلقنا الشرط الأساسي وهو أن الجلسة مسجلة !
هذا كل شيء بالنسبة لملف admin.php مؤقتاً !
يُتبع ! :nice: