السلام عليكم ورحمة الله وبركاته
اخواني حاب اوضح لكم فكرة بناء نظام تعليقات لكل صفحة او موضوع
راحيين نعمل جدول جديد بالقاعدة ونسميه commnt
ورايح يحتوي على اربعة حقول
comm_id الاي دي تبع التعليق
name_user اسم المعلق
comm_user التعليق
id هذا الحقل مهم وهو ربط كل تعليق بالموضوع اللي تم التعليق عليه
فرضنا انك مسمي صفحة المواضيع باسم pages
ورابط الموضوع هو مثلا
'pages-100.html
احنا اذا عملنا صفحة التعليق اكيد راحييين نضمنها في صفحات المواضيع بالطريقة ذي
http://www.qwled.net/pages-100.html لاحظ ان كل موضوع فيه اضافة تعليق
اللي يهمنا الان هو عمل صفحة اضافة تعليق بهذي الطريقة
رمز PHP:
<?php
$page_id=intval(abs($_GET['page_id']));//الامساك بالاي دي تبع الموضوع
echo "
<form name='form1' method='post' action='send_comm.php' '>
<table align='center' width='50%' >
<td class='tb1'>اسمك</td>
<td class='tb1'><input class='name_user' name='name_user' type='text' size='37' /></td>
<tr></tr>
<td class='tb1'>تعليقك</td>
<td><textarea class='tb5' name='comm_user' rows='5' cols='30'></textarea></td>
<tr>
</tr>
<td><input type='submit' value='ارسل تعليقك' /></td>
<input type='hidden' name='id' value='$page_id' />
<input type='hidden' name='page' value='pages-$page_id.html' />
</table>
</form>
";
?>
لاحظنا عملنا جلب اي دي الصفحة وهذا مهم جدا
رمز PHP:
$page_id=intval(abs($_GET['page_id']));
ولاحظنا في اخر الفورم عملنا input مخفي يحمل الاي دي تبع الصفحة
رمز PHP:
<input type='hidden' name='id' value='$page_id' />
اذا حقل id رايح يخزن فيه اي دي الصفحة
اما هذا
رمز PHP:
<input type='hidden' name='page' value='pages-$page_id.html' />
فهو يحمل مسار الصفحة اي عندما يكتب العضو تعليق ويضغط موافق نضمن انه يرجع الي نفس الصفحة
الان احنا رايحيين نضمن صفحة اضافة التعليق داخل صفحة المواضيع
رمز PHP:
include("t3leeq.php");
الان نعمل صفحة استقبال البيانات من صفحة اضافة التعليق
رمز PHP:
<?php
$id=mysql_escape_string($_POST['id']);//يحمل رقم الصفحة المضاف لها التعليق
$page=mysql_escape_string($_POST['page']);//استقبال رابط الصفحة
$name_user=mysql_escape_string($_POST['name_user']);//استقبال اسم المعلق
$comm_user=mysql_escape_string($_POST['comm_user']);//استقبال محتوى التعليق
$sql="insert into commnt (name_user,comm_user,id) VALUES ('$name_user','$comm_user','$id')"or die("توجد مشكلة بالجدول");
$insert=mysql_query($sql);
if ($insert){
echo "<center>";
echo "<div class='msg'>";
echo "
<center><b>انتظر حتى يتم تفعيل ردك شكرا لك</b></center><br>
<center><img src='img/loading.gif'/></center>
<meta http-equiv='refresh' content='2; url=$page' />
";
echo "</div>";
}
?>
الان خلاص ضمنا ان كل تعليق سوف يرتبط بالموضوع اللي تم التعليق عليه
الان احنا خلاص انتهينا تقريبا وبقى علينا فقط
عمل استعلام لجلب كل تعليق في الموضوع المعلق عليه
اعمل صفحة جديدة وسميها selcet_comm
رمز PHP:
<?php
$sql=mysql_query("select * from commnt where id='$page_id' ")or die(mysql_error());
while($row=mysql_fetch_assoc($sql)){
echo "<table align='center' width='100%' bgcolor='#CCCCCC'>";
echo "<td>رقم التعليق $row[comm_id]</td>
<tr>
<td> الاسم: $row[name_user]</td>
<tr>
<td>التعليق: $row[comm_user]</td>
</table>";
}
?>
لاحظوا في الاستعلام انا قلنا
رمز PHP:
where id=$page_id
يعني اظهر كل تعليق في الصفحة التي تم اضافة التعليق لها
لاتنسى تضمين صفحة الاستعلام داخل صفحة اضافة تعليق
اذا حاب تعمل حركة وهو تفعيل التعليقات اضف حقل جديد باسم num
ويكون رقمي
وعمل شرط في صفحة الاستعلام اذا كان الحقل num يساوي واحد اعرض التعليقات
وبخصوص تفعيل التعليقات اعمل لها تحديث بالطريقة ذي
رمز PHP:
$comm_id=$_GET['comm_id'];
$sql=mysql_query("UPDATE commm set num=1 where comm_id='$comm_id' ")or die (mysql_error());
موفقين يارب