نلاحظ من المثال السابق أن أي تعليق سيتم إظهاره فورا دون ترك مجال للمدير بالموافقه أو عدم الموافقه على هذا التعليق
لذلك سنقوم بإضافة حقل جديد في قاعدة البيانات وليكن : active_blog ونضيف حقل لتاريخ الإضافة فهذا مهم :) وليكن : date_blog
ALTER TABLE `blog` ADD `date_blog` VARCHAR( 20 ) NOT NULL , ADD `active_blog` INT( 1 ) NOT NULL ; ALTER TABLE `blog` CHANGE `active_blog` `active_blog` INT( 1 ) NOT NULL DEFAULT '0'
الآن نقوم بالتعديل على القالب الخاص بنموذج البلوغ ونظيف حقل خاص بالتفعيل كمايلي :
$form_blog='<form name="blog_form" method="post" action=""> <input type=text size=40 name=active_blog value=0> <br> Author: <input type=text size=40 name=author><br> <br> E-mail: <input type=text size=40 name=mail><br> <br> Text:<br> <textarea cols=60 rows=10 name=text></textarea><br> <input name="blog_submit" type="submit"> </form>';
وضعنا القيمة صفر لهذا المتغير , وصفر تعني عدم إظهار التعليق , بينما واحد تعني إظهار التعليق . يمكن وضع هذه القيمة في جدول الإعدادات .
يتم تعديل جملة السيكول الخاصه بإضافة التعليق :
mysql_query("INSERT INTO `blog` (
`id` ,
`blog_name` ,
`blog_email` ,
`blog_comment` ,
`blog_other`,`date_blog`,`active_blog`
)
VALUES (
NULL , '$author', '$mail', '$text', '$other_text','".time()."',$active_blog
);");*معلومة : إستخدمت الدالة تايم في حفظ التاريخ لآنني أعتقد أنها أفضل طريقة لحفظ التاريخ والوقت داخل قاعدة البيانات , لآن هناك دوال تقوم بتحويل قيمة التايم في هذه الداله إلى أي شكل تريده من أشكال التاريخ والوقت .
في جمله عرض التعليقات نعدل جملة السيكول ونضيف لها (where active_blog=1)
الآن يأتي دور لوحة التحكم لنضيف صفحة جديده من خلالها يمكن التحكم في البلوغ كما يلي :
تم عمل نسخ لصفحة مدير الصفحات لآنها أقرب صفحة لما نريد عمله ... وبعدها قمنا بالتعديلات اللازم لتصبح كما يلي :
<?
$ro=mysql_fetch_array(mysql_query("Select * From sett where id=17"));
if($_COOKIE["no_hack"]==$ro[2]){
setcookie("no_hack",$ro[2], time()+3600);
}else{
setcookie("no_hack",'', time()+3600);
session_unset();
session_destroy();
echo '<meta http-equiv="refresh" content="0; url=?out=1" />';
exit();}
if($act){
$result = mysql_query("Select * From blog where id=$act");
$row = mysql_fetch_array($result, MYSQL_NUM);
if($row[6]){$val_act=0;}else{$val_act=1;}
mysql_query("UPDATE `blog` SET active_blog = '$val_act' WHERE `id`=$act");
$error_msg="Activate done!";
}
if($delete){
mysql_query("delete from blog where id=$delete");
$error_msg="Deleted done!";
}
$admin_page_text="
<table style='width: 40%;' border='1' >
<tr>
<td>Nu.</td>
<td>Author name</td>
<td> </td>
<td> </td>
</tr>
";
$result = mysql_query("Select * From blog ORDER BY id ASC");
while ($row = mysql_fetch_array($result, MYSQL_NUM))
{
$admin_page_text.= "
<tr>
<td>$row[0]</td>
<td>$row[1]</td>
<td><a href='?p=$p&act=$row[0]'><img src='images/$row[6]act.png' alt='Active/Deactive' border=0 /></a></td>
<td><a href='?p=$p&delete=$row[0]'><img src='images/delete.gif' alt='delete' border=0 /></a></td>
</tr>
<tr>
<td colspan='4'>$row[3]</td>
</tr>
";
}
?>وهذه صورة لصفحة البلوغ في لوحة التحكم
ولسا الدرس ما إنتهى وإن شاء الله في تتمه قريبا
هذه نسخة من الموقع site1.03.zip... ربما لن تعمل بشكل صحيح لآنها تعتمد على السيرفر في الروابط , لوحة التحكم تعمل بشكل ممتاز على السيرفر المحلي , تم حذف المحرر وبقي المجلد الخاص به لسهوله تحميل النسخة , يوجد داخل مجلد المحرر (FCKeditor) ملف إقرأني فيه مسار لتحميل نسخة من المحرر
تم تعديل هذه المشاركة بواسطة bastr3 في 1 أبريل 2009 في 11:39





