النتائج 1 إلى 9 من 9

الموضوع: مشكلة في كود حذف وتعديل المحتوى رجو الحل

  1. #1
    عضو نشيط
    تاريخ التسجيل
    Apr 2011
    المشاركات
    51

    Exclamation مشكلة في كود حذف وتعديل المحتوى رجو الحل



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

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

    في عندي مشكلة في الكود والكود عبارة عن ادارة محتوى بسيط

    وفيه تعديل وحذف

    بس المكشلة زر التعديل والحذ ف مابيشتغلوا

    وهذا الكود
    كود PHP:
    <?php

    include "config.php"// الاتصال

    /*
    CREATE TABLE `news`.`addnews4` (
    `id` INT NOT NULL AUTO_INCREMENT ,
    `author` VARCHAR( 255 ) NOT NULL ,
    `title` VARCHAR( 255 ) NOT NULL ,
    `content` LONGTEXT NOT NULL ,
    PRIMARY KEY ( `id` )
    ) ENGINE = InnoDB;
    */

    if($_REQUEST['delete'] == 'news'){
      
    $delete mysql_query("DELETE FROM addnews4 WHERE id='".$gid."'") or die ("Not Delete"); // الحذف
       
    if(isset($delete)){
         echo 
    "Delete Is Done !!";
       }
    }

    if(isset(
    $_POST['edit']) and $_POST['edit'] == 'post'){
       
    $update mysql_query("UPDATE addnews4 SET author='$a',title='$t',content='$c' WHERE id='$id'") or die ("Not Acces"); // التعديل
       
    if(isset($update)){
         echo 
    "<h2>The Post Is Updated !!</h2>";
       }
    }

    $gid intval($_GET['id']);
    $id $_POST['id'];
    $a  $_POST['author'];
    $t  $_POST['title'];
    $c  $_POST['content'];

    $query mysql_query("select * from addnews4 WHERE id='".$gid."'") or die ("mysql error");
    $re    mysql_fetch_assoc($query);

    if(
    $_REQUEST['do'] == 'edit'){
    echo 
    "
    <form action='"
    .$_SERVER['PHP_SELF']."' method='post'>
    Author:<input type='text' name='author' value='"
    .$re['author']."' /><br />
    Title :&nbsp;&nbsp;&nbsp;<input type='text' name='title' value='"
    .$re['title']."' /><br />
    Content: <textarea name='content'>"
    .$re['content']."</textarea><br />
    <input type='submit' value='Send Now!' />
    <input type='hidden' name='id' value='"
    .$gid."' />
    <input type='hidden' name='edit' value='post' />
    </form>
    </form>
    "
    ;
    }

    // الاستعلامات

    $data mysql_query("select * from addnews4 order by id asc") or die ("mysql error");

    echo 
    "<table cellpadding='5' width='40%' border='1'>
    <tr>
    <td>#</td>
    <td>Author</td>
    <td>Title</td>
    <td>Option</td>
    </tr>
    "
    ;

    while(
    $row mysql_fetch_assoc($data)){
      echo 
    "
      <tr>
      <td>"
    .$row['id']."</td>
    <td>"
    .$row['author']."</td>
    <td>"
    .$row['title']."</td>
    <td><a href='editnews.php?do=edit&id="
    .$row['id']."'>Edit</a> - <a href='editnews.php?delete=news&id=".$row['id']."'>Delete</a></td>
    </tr>
    "
    ;
    }

    echo 
    "</table>";

    mysql_close($connectdb);
    ?>
    علما اني كتبت الكود بنفسي بدون لص ونسخ

    ارجو حل مشكلة الكود

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







  2. #2


    جرب اضافة $id داخل الدالة if


    لتكون بالشكل التالي:
    كود:
     
    if(isset($_POST['edit']) and $_POST['edit'] == 'post'){
    $id = $_POST['id'];
    $update = mysql_query("UPDATE addnews4 SET author='$a',title='$t',content='$c' WHERE id='$id'") or die ("Not Acces"); // التعديل
    if(isset($update)){
    echo "<h2>The Post Is Updated !!</h2>";
    }
    }






    __________________
    احصل علي دومين com فقط 80 جنية في السنة بالوحة تحكم خاصة
    www.QIT-eg.com


  3. #3
    عضو نشيط
    تاريخ التسجيل
    Apr 2011
    المشاركات
    51


    شكرا جزيلا
    بس اخي لم ضفت القيمة $id مثل ماقلت انت في الكود
    لم اجي اعدل يقوم بحذف المحتويات من الجدول
    فارجو منكم مساعدتي






  4. #4
    عضو نشيط جدا
    تاريخ التسجيل
    Dec 2004
    المشاركات
    364


    لديك العديد من الأخطاء المنطقية في الكود الذي وضعته

    بداية لا تستخدم isset للتحقق من صحة اتمام الاستعلام من قاعدة البيانات
    حيث انها ستعيد لك true بشكل دائم نظرا لأنك قمت بانشاءها بالفعل
    بل استخدم empty التي ستتحقق من وجود قيمة صحيحة في المتغير ام قيمة فارعة او غير صحيحة

    الخطأ الثاني هو انك تقوم بانشاء المتغيرات المستخدمة في الاستعلامات بعد تنفيذ الاستعلامات
    والصحيح هو ان تقوم بذلك قبل الاستعلامات حتى يكون بالامكان استخدامها داخل الاستعلام

    كود PHP:
    <?php

    include "config.php"// الاتصال

    /*
    CREATE TABLE `news`.`addnews4` (
    `id` INT NOT NULL AUTO_INCREMENT ,
    `author` VARCHAR( 255 ) NOT NULL ,
    `title` VARCHAR( 255 ) NOT NULL ,
    `content` LONGTEXT NOT NULL ,
    PRIMARY KEY ( `id` )
    ) ENGINE = InnoDB;
    */


    $gid intval($_GET['id']);
    $id intval$_POST['id'] );

    $a  $_POST['author'];
    $t  $_POST['title'];
    $c  $_POST['content'];


    if(
    $_REQUEST['delete'] == 'news'){
      
    $delete mysql_query("DELETE FROM addnews4 WHERE id='".$gid."'") or die ("Not Delete"); // الحذف
       
    if( empty ($delete)){
         echo 
    "Delete Is Done !!";
       }
    }

    if(isset(
    $_POST['edit']) and $_POST['edit'] == 'post'){
       
    $update mysql_query("UPDATE addnews4 SET author='$a',title='$t',content='$c' WHERE id='$id'") or die ("Not Acces"); // التعديل
       
    if( empty ($update)){
         echo 
    "<h2>The Post Is Updated !!</h2>";
       }
    }


    $query mysql_query("select * from addnews4 WHERE id='".$gid."'") or die ("mysql error");
    $re    mysql_fetch_assoc($query);

    if(
    $_REQUEST['do'] == 'edit'){
    echo 
    "
    <form action='"
    .$_SERVER['PHP_SELF']."' method='post'>
    Author:<input type='text' name='author' value='"
    .$re['author']."' /><br />
    Title :&nbsp;&nbsp;&nbsp;<input type='text' name='title' value='"
    .$re['title']."' /><br />
    Content: <textarea name='content'>"
    .$re['content']."</textarea><br />
    <input type='submit' value='Send Now!' />
    <input type='hidden' name='id' value='"
    .$gid."' />
    <input type='hidden' name='edit' value='post' />
    </form>
    </form>
    "
    ;
    }

    // الاستعلامات

    $data mysql_query("select * from addnews4 order by id asc") or die ("mysql error");

    echo 
    "<table cellpadding='5' width='40%' border='1'>
    <tr>
    <td>#</td>
    <td>Author</td>
    <td>Title</td>
    <td>Option</td>
    </tr>
    "
    ;

    while(
    $row mysql_fetch_assoc($data)){
      echo 
    "
      <tr>
      <td>"
    .$row['id']."</td>
    <td>"
    .$row['author']."</td>
    <td>"
    .$row['title']."</td>
    <td><a href='editnews.php?do=edit&id="
    .$row['id']."'>Edit</a> - <a href='editnews.php?delete=news&id=".$row['id']."'>Delete</a></td>
    </tr>
    "
    ;
    }

    echo 
    "</table>";

    mysql_close($connectdb);
    ?>






    __________________
    الخدمات البرمجية
    تعديلات برمجية - تطوير برمجيات جاهزة - صيانة قواعد بيانات
    برمجة خاصة (الأولوية للأفكار الجديدة والخاصة)

    المراسلة : http://it.rewaq.com

  5. #5
    عضو نشيط
    تاريخ التسجيل
    Apr 2011
    المشاركات
    51

    رد على الموضوع



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

    اولا اشكرك على مرورك على الموضوع واهتمامك به
    ثانيا انت تقول انه يجب استخدام الدالة empty بدل isset
    اخي العزيز انا استخدمت العبارة isset كتير في مشاريع قبل
    واشتغلوا يعني الخطا مو من الدالة isset
    والدالة empty تحقق اذا كانت الحقول فارغة
    اما العبارة isset يعني اذا كانت في عملية delete او edit او update اظهر له رسلة مثلا تم التعديل بنجاح او تم الحذف الخ..
    ثالثاً الخطا الثاني حجرب وشوف .
    علما اني لدي عودة بأذن الله





    التعديل الأخير تم بواسطة حسام الذهبي ; 19-04-2011 الساعة 08:52 PM

  6. #6
    عضو نشيط جدا
    تاريخ التسجيل
    Dec 2004
    المشاركات
    364


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

    اولا اشكرك على مرورك على الموضوع واهتمامك به
    ثانيا انت تقول انه يجب استخدام الدالة empty بدل isset
    اخي العزيز انا استخدمت العبارة isset كتير في مشاريع قبل
    واشتغلوا يعني الخطا مو من الدالة isset
    والدالة empty تحقق اذا كانت الحقول فارغة
    اما العبارة isset يعني اذا كانت في عملية delete او edit او update اظهر له رسلة مثلا تم التعديل بنجاح او تم الحذف الخ..
    ثالثاً الخطا الثاني حجرب وشوف .
    علما اني لدي عودة بأذن الله
    السلام عليكم

    الخطأ الذي تشكو منه في الكود الخاص بك هو انك تستخدم متغيرات لم تقم بتعريفها او وضح محتوى لها، حيث انك تضع المحتوى لهذه المتغيرات بعدما تقوم بعمل الاستعلام
    تأكد من هذا الأمر

    أما بالنسبة للدالة iisset والدالة empty فأتوقع انه لديك -كما غيرك كثيرين- عدم وضوح في اداء او مهمة او وظيفة واداء كل دالة منهم بشكل دقيق


    الدالة isset
    تعمل هذه الدالة على التحقق من انشاء المتغير المرسل لها، بغض النظر عن القيمة التي يحملها هذا المتغير باستثناء ان يكون false أو null صريح
    كود PHP:
    <?php
    $test1 
    true;
    $test2 false;
    $test3 "";

    if( isset( 
    $test1 ) ) echo "Test1 "// if = true
    if( isset( $test2 ) ) echo "Test2 "// if = false
    if( isset( $test3 ) ) echo "Test3 "// if = true
    if( isset( $test4 ) ) echo "Test4 "// if = false
    ?>

    الدالة empty
    تعمل هذه الدالة على التحقق من قيمة ومحتوى المتغير
    فاذا كان المتغير يحمل قيمة true أو ما يقابلها (أي مصفوفة تحوي عناصر، او متغير نصي غير فارغ أو متغير رقمي لا يساوي الصفر الخ الخ) فان الدالة يتعيد القيمة true
    وإذا كان المتغير يحوي قيمة فارغة (أي false أو null أو مصفوفة فارغة، الخ الخ) فانه سيعود القيمة false
    اذا كان المتغير لم يتم انشاؤه فان الدالة ستعيد القيمة false أيضا
    كود PHP:
    <?php
    $test1 
    true;
    $test2 false;
    $test3 "";
    $test4 "something;
    $test5 = array();
    $test6 = array('element');

    if( empty( 
    $test1 ) ) echo "Test1 "; // if = true
    if( empty( 
    $test2 ) ) echo "Test2 "; // if = false
    if( empty( 
    $test3 ) ) echo "Test3 "; // if = false
    if( empty( 
    $test4 ) ) echo "Test4 "; // if = true
    if( empty( 
    $test5 ) ) echo "Test5 "; // if = false
    if( empty( 
    $test6 ) ) echo "Test6 "; // if = true
    if( empty( 
    $test7 ) ) echo "Test7 "; // if = false
    ?>
    راجع الملف المرفق، والصفحات التالية:
    http://php.net/isset
    http://php.net/empty


    تقبل مني أرق تحية





    الملفات المرفقة الملفات المرفقة
    __________________
    الخدمات البرمجية
    تعديلات برمجية - تطوير برمجيات جاهزة - صيانة قواعد بيانات
    برمجة خاصة (الأولوية للأفكار الجديدة والخاصة)

    المراسلة : http://it.rewaq.com

  7. #7
    عضو نشيط
    تاريخ التسجيل
    Apr 2011
    المشاركات
    51


    اخوي بالنسبة لـisset
    انا ما بحفظ الكود بصم
    بلـ انا متعلم من معهد كليبرز
    وهو يشرح كل كود وانا بظن انو empty
    فقط اذا كان الخيار فارغ ومعنى empty فارغ
    والكل يعلم ذللك
    وانا بدقق على الكود جدا
    بس المشكلة مثل ماقلت ترتيب المتغيرات






  8. #8
    عضو نشيط جدا
    تاريخ التسجيل
    Dec 2004
    المشاركات
    364


    لا حول ولا قوة إلا بالله

    خلاص أخي ماهي مشكلة، إستمر على isset اذا احببت فهي تفي بالغرض بشكل أو بآخر





    __________________
    الخدمات البرمجية
    تعديلات برمجية - تطوير برمجيات جاهزة - صيانة قواعد بيانات
    برمجة خاصة (الأولوية للأفكار الجديدة والخاصة)

    المراسلة : http://it.rewaq.com

  9. #9
    عضو نشيط
    تاريخ التسجيل
    Apr 2011
    المشاركات
    51


    يعطيك الف عافية اشتغل كل شيئ










ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  

أضف موقعك هنا| اخبار السيارات | حراج | شقق للايجار في الكويت | بيوت للبيع في الكويت | دليل الكويت العقاري | مقروء | شركة كشف تسربات المياه | شركة عزل اسطح بالرياض | عزل فوم بالرياض| عزل اسطح بالرياض | كشف تسربات المياة بالرياض | شركة عزل اسطح بالرياض