الأحد، يناير 23، 2011

كود عرض المواضيع و التعديل و كود أضافة التعليق

بسم الله الرحمن الرحيم

السلام عليكم ورحمة الله وبركاته

كيف الحال الجميع إن شاء الله بخير ؟

الحمد لله ضليت يومين جالس على هالصفحتين

طبعاًَ طبقة درس الأخ و الأستاذ يوسف أسماعيل

لكن قلت خلني احاول اطور اشوي بحيث لما يدخل رقم ip خطا لطلع له رسالة خطأ

طبعاًَ يمكن يكون هذا سهل لكن بالنسبه لمبتدأ شئ جميل انه يطبقه ﻵنه راح يتعلم امور كثيره

ما اطول عليكم و اخليكم مع الكود

الصورة اللي راح يطلع عليها الكود
[صورة مرفقة: pfk09673.gif]


وهذا الكود

<?php
include "config.php" ;
/*
CREATE TABLE `news`.`addnews` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`alkatib` VARCHAR( 255 ) NOT NULL ,
`title` VARCHAR( 255 ) NOT NULL ,
`content` LONGTEXT NOT NULL
) ENGINE = MYISAM ;
*/
$gid = intval($_GET['id']);
$id  = $_POST['id'];
$a   = $_POST['alkatib'] ;
$t   = $_POST['title'];
$c   = $_POST['content'];
if(isset($_POST['edit']) and $_POST['edit'] == 'news'){
 $update = mysql_query("UPDATE addnews set alkatib = '$a', title = '$t', content = '$c' where id = ".$id."") or die ("خطأ في استعلام تعديل البيانات");
if(isset($update)){
 echo "نم تحديث البيانات بنجاح" ;
}
}
if ($_REQUEST['delete'] == 'dnews'){
 $delete = mysql_query("DELETE from addnews where id ='".$gid."'") or die ("لا يوجد استعلام في امر الحذف") ;
 if (isset($delete)){
  echo "تم الحذف بنجاح";
 }
}
$selest = mysql_query(" SELECT * FROM addnews where id = ".$gid."") or die ("خطأ في استعلام عرض البيانات") ;
$rowedit = mysql_fetch_assoc($selest) ;
if($_REQUEST['edit'] == 'news'){
echo"<form action= '".$_SERVER['PHP_SELF']."' method = 'post'>
alkatib : <input type = 'text' name = 'alkatib' value = '".$rowedit['alkatib']."'><br />
title : <input type = 'text' name = 'title' value = '".$rowedit['title']."'><br />
content : <textarea name = 'content'>".$rowedit['content']."</textarea><br />
<input type = 'submit' name = 'edit' value = 'save edit' />
<input type = 'hidden' name = 'id' value = '".$gid."' />
<input type = 'hidden' name = 'edit' value = 'news'  />
";
}
$query = mysql_query("SELECT * FROM addnews ORDER BY id asc") or die ("خطأ في الأستعراض ..!");
echo "<table width = '55%' border = '1' cellpadding = '7'>
<tr>
<td>#</td>
<td>alkatib</td>
<td>Title</td>
<td>Options</td>
</tr>
";
while ($row = mysql_fetch_assoc($query)){
 echo"<tr>
<td>".$row['id']."</td>
<td>".$row['alkatib']."</td>
<td>".$row['title']."</td>
<td>
<a href = 'editshow.php?edit=news&id=".$row['id']."'>edit</a>
- <a href='editshow.php?delete=dnews&id=".$row['id']."'> Delete </a>
- <a href='readmore.php?id=".$row['id']."'>Read More</a>
</td>
</tr>
 ";
}
echo"</table>";
?>
[/php]

هذا الكود الثاني صفحة الموضوع كامل و اضافة التعليقات
هذي صورة الكود
[img]http://store2.up-00.com/Dec10/sDo09674.gif[/img]
هذا الكود للصفحة
[php]
<?php
include 'config.php';
/*
 * لقاعدة البيانات addnews جدول
CREATE TABLE `news`.`addnews` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`alkatib` VARCHAR( 255 ) NOT NULL ,
`title` VARCHAR( 255 ) NOT NULL ,
`content` LONGTEXT NOT NULL
) ENGINE = MYISAM ;
*/
/*
 * لقاعدة البيانات comm جدول
 CREATE TABLE `news`.`comm` (
`cid` INT NOT NULL AUTO_INCREMENT ,
`cname` VARCHAR( 255 ) NOT NULL ,
`cemail` VARCHAR( 255 ) NOT NULL ,
`ccomm` TEXT NOT NULL ,
`id` INT NOT NULL ,
PRIMARY KEY ( `cid` )
) ENGINE = MYISAM ;
*/

/* بداية الأستعلام لعمل الشرط لو كان رقم الأي بي خطأ فسيضهر رسالة خطأ */
$cgid = intval($_GET['id']);
$selectf = mysql_query("SELECT * FROM comm where id = '".$cgid."'") or die ("خطأ في الأستعلام");
$rowf = mysql_fetch_assoc($selectf) ;
$selecta = mysql_query("SELECT * FROM comm") or die ("خطأ في الأستعلام رقم 2") ;
$rowa = mysql_num_rows($selecta) ;
/*نهاية الأستعلام لعمل الشرط لو كان رقم الأي بي خطأ فسيضهر رسالة خطأ */

#تعريفات القيم في الفورم
$cid = $_POST ['cid'] ;
$cn  = $_POST['cname'] ;
$ce  = $_POST['cemail'];
$cc  = $_POST['ccomm'];
#نهاية التعريف
#شرط التأكد من الضغط على كود الأدخال
if(isset($_POST['add']) and $_POST['add'] == 'addcomm'){
 $addcomm = mysql_query("INSERT INTO comm
 (cname , cemail , ccomm , id)
  VALUES
  ('$cn','$ce','$cc','$cid')
  ") or die ("خطأ في أستعلام أدخال التعليق") ;
 if (isset($addcomm)){
  echo "تم أدخال التعليق بنجاح";
 }
}
#نهاية الشرط
$rowaddnews = mysql_query("SELECT * FROM addnews ") or die ("استعلام جدول البيانات خطأ") ;
$gid = intval($_GET['id']) ;
$row = mysql_query("SELECT * FROM addnews where id = ".$gid."") or die("خطأ في عرض البيانات") ;
$rw = mysql_fetch_assoc($row) ;
$rom1 = $rom['id'] ;
$rnum = mysql_num_rows($rowaddnews) ;
if($rnum < 1){
 die("لا توجد بيانات مدخله في القاعدة");
}elseif (!isset($gid)){
 die("لقد ادخلت عنوان الصفحة بشكل خاطئ");
}
elseif(!isset($rowa)) {
 echo "لقد اتبعت عنوان خطأ11";
 break ;
}
elseif (!empty($gid)  and $cgid == $rowf['id'] and is_numeric($gid))
{
echo "<table width = '50%' border = '1' cellpadding = '6'>
<tr>
    <td align = 'center' colspan = '4'>-- الموضوع --</td>
</tr>
<tr>
<td>#</td>
<td>alkatib</td>
<td>Title</td>
<td>content</td>
</tr>
<tr>
<td>".$rw['id']."</td>
<td>".$rw['alkatib']."</td>
<td>".$rw['title']."</td>
<td>".$rw['content']."</td>
</tr>
</table>
";
}elseif ($cgid != $rowa['id'] and $rw['id'] == null){
 echo "لقد اتبعت الرابط الخطأ" ;
}elseif(is_numeric($gid) and $cgid == $rowa['id']){
 echo "لقد اتبعت الرابط الخطأ 12";
}
else{
echo "<table width = '40%' border = '1' cellpadding = '6'>
<tr>
<tr>
    <td align = 'center' colspan = '4'>-- الموضوع --</td>
</tr>
</tr>
<tr>
<td>#</td>
<td>alkatib</td>
<td>Title</td>
<td>content</td>
</tr>
<tr>
<td>".$rw['id']."</td>
<td>".$rw['alkatib']."</td>
<td>".$rw['title']."</td>
<td>".$rw['content']."</td>
</tr>
</table>
";
/*بداية الفورم*/
if ($rowf['id'] == $cgid and  $rw['id'] == null)
{
echo "لا توجد تعليقات مضافة";
}
else
{
echo"
<table width = '40%' border = '1' cellpadding = '6'>
<form action = '".$_SERVER['PHP_SELF']."' method = 'post'>
<tr>
<td align = 'center' colspan = '2'>أضافة تعليق</td>
</tr>
<tr>
<td>اسم مضيف التعليق </td>
<td> <input type = 'text' name = 'cname' /></td>
</tr>
<tr>
<td>الأيميل </td>
<td><input type = 'text' name = 'cemail' />
</tr>
<tr>
<td>التعليق </td>
<td><textarea name = 'ccomm' ></textarea>
</tr>
<tr>
<td align = 'center' colspan = '2'><input type = 'submit' name = 'add' value = 'add comm' />
<input type = 'hidden' name = 'add' value = 'addcomm' />
<input type = 'hidden' name = 'cid' value = '".$gid."' />
</td>
</tr>
</table>
</form>";
/*نهاية الفورم*/
break ;
}
}
echo "<br />";
/*بداية جدول عرض التعليقات*/
if(!empty($gid) and $cgid == $rowf['id']){
$selectcomm = mysql_query("SELECT * FROM comm where id = ".$gid." ORDER BY cid desc") or die ("خطأ في استعلام عرض التعليقات") ;
echo"<table width = '50%' border = '1' cellpadding = '5'>
<tr>
    <td align = 'center' colspan = '2'>-- التعليقات --</td>
</tr>
";
$nu = 1 ;
while($rc = mysql_fetch_assoc($selectcomm)){
 echo"<tr>
             <td>الأسم</td>
             <td>".$nu."-".$rc['cname']."</td>
        </tr>
        <tr>
            <td>الأيميل</td>
            <td>".$rc['cemail']."</td>
        </tr>
  <tr>
   <td align = 'center' colspan = '2'>--- التعليق ---</td>
  </tr>
  <tr>
   <td align = 'center' colspan = '2'>".$rc['ccomm']."</td>
        ";
 $nu++ ;
}
echo "</table>" ;
echo "<br />" ;
/*نهاية جدول عرض التعليقات*/
/*بداية الفورم*/
echo"
<table width = '50%' border = '1' cellpadding = '6'>
<form action = '".$_SERVER['PHP_SELF']."' method = 'post'>
<tr>
<td align = 'center' colspan = '2'>أضافة تعليق</td>
</tr>
<tr>
<td>اسم مضيف التعليق </td>
<td> <input type = 'text' name = 'cname' /></td>
</tr>
<tr>
<td>الأيميل </td>
<td><input type = 'text' name = 'cemail' />
</tr>
<tr>
<td>التعليق </td>
<td><textarea name = 'ccomm' ></textarea>
</tr>
<tr>
<td align = 'center' colspan = '2'><input type = 'submit' name = 'add' value = 'add comm' />
<input type = 'hidden' name = 'add' value = 'addcomm' />
<input type = 'hidden' name = 'cid' value = '".$gid."' />
</td>
</tr>
</table>
</form>";
/*نهاية الفورم*/
}
mysql_free_result($row);
mysql_close($row) ;
?>



والشكر كل الشكر للأخ يوسف

اخوكم : بو عبد الله

هناك تعليقان (2):

  1. هل يمكنك ان تشرح لنا طريقة تركيبه وهل يمكنني تركيبه على صفحه html ? ... وشكرا وبارك الله فيك

    ردحذف
  2. اخي الكريم انا لما اريد تعديل البيانات لا اعرف كيف اعدلها بطريقة صحيحة الرجاء الافادة

    ردحذف