اذهب إلى المحتوى
  • 0

كود يعمل على السيرفر المحلى فقط ماهى المشكلة

احمد عمر11

السؤال

كود الحذف لايعمل علما بان الاتصال ناجح والاضافة تعمل جيدااا

والكود هو

      <?php  

if(isset($a))
$sql = "DELETE FROM estshara WHERE id=$a";

   if($conn->query($sql) === true ){
    
    echo "تم الحذف بنجاح";
   
}
 else {
  echo "لم يتم الحذف" ;  
     
     
 }


    ?> 

ومصدر صفحة الحذف هو 

<td><?php echo "[<a href='delete.php?a=$row[id]'onclick='return confermdelete()'>delete </a>]" ?></td>

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

حاول أن تقوم بتنظيم الكود قليلًا لكي تتمكن من معرفة مكان الخطأ بالتحديد، أيضًا حاول إستخدام الأقواس عند إستعمال الشروط conditions على النحو التالي:

<?php

// delete.php

if (isset($a)) {
  $sql = "DELETE FROM estshara WHERE id=$a";

  if ($conn->query($sql) === true) {
    echo "تم الحذف بنجاح";
  } else {
    echo "لم يتم الحذف";
  }
}

بهذه الطريقة تكون قراءة الكود أسهل بكثير، ولا تحدث أخطاء بسبب عدم وجود الأقواس.

الأمر الآخر هو أنك تقوم بإرسال قيمة المتغير a$ ضمن عنوان URL من خلال السطر التالي:

<td><?php echo "[<a href='delete.php?a=$row[id]'onclick='return confermdelete()'>delete </a>]" ?></td>

أتوقغ أن السطر السابق سيقوم بعرض كلمة [delete] في شكل رابط والذي سيكون بالشكل التالي على سبيل المثال:

delete.php?a=123

إذا يجب أن تقوم في الملف delete.php بمحالة الوصول إلى قيمة a وذلك من خلال إستخدام المصفوفة GET_$ وليس المتغير a$ نفسه، كما يلي:

<?php

if (isset($_GET['a'])) {
  $sql = "DELETE FROM estshara WHERE id=" . $_GET['a'];
    
  if ($conn->query($sql) === true) {
    echo "تم الحذف بنجاح";
  } else {
    echo "لم يتم الحذف";
  }
}

?>

لاحظ كيف أستخدمت القيمة GET['a']_$ بدلًا من المتغير a$

بهذا الشكل سوف يكون شكل جملة SQL على النحو التالي:

DELETE FROM estshara WHERE id=123

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

الف مليون شكر لحضرتك جزاك الله كل الخير الكود اشتغل تمام 

ممكن اتعب حضرتك اخى العزيز وصديقى الجديد كود التعديل مش شغال ممكن اعرف من حضرتك الحل اكون شاكر جدا جعله الله فى ميزان حسناتك اللهم امين

    <?php


$FF=$_POST{'E'};

$image=addslashes(file_get_contents($_FILES['image']['tmp_name']));
$id_up=$_POST{id_up};
include('db.php');
$sql = "update estshara set E='$FF', image='$image' where id='$id_up'";
if($conn->query($sql) === true ){
    
    echo "yes";
   
}
 else {
  echo "no" ;  
     
     
 }


    ?> 

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ منذ ساعة مضت قال احمد عمر11:

الف مليون شكر لحضرتك جزاك الله كل الخير الكود اشتغل تمام 

ممكن اتعب حضرتك اخى العزيز وصديقى الجديد كود التعديل مش شغال ممكن اعرف من حضرتك الحل اكون شاكر جدا جعله الله فى ميزان حسناتك اللهم امين


    <?php


$FF=$_POST{'E'};

$image=addslashes(file_get_contents($_FILES['image']['tmp_name']));
$id_up=$_POST{id_up};
include('db.php');
$sql = "update estshara set E='$FF', image='$image' where id='$id_up'";
if($conn->query($sql) === true ){
    
    echo "yes";
   
}
 else {
  echo "no" ;  
     
     
 }


    ?> 

 

أكيد، يوجد لديك فقط بعض المشاكل في كتابة الكود نفسه، في البداية حاول أل تستعمل الأقواس المعقوفة { } عند إستخدام المصفوفات أو النصوص، لأنها أصبحت مهملة deprecated بداية من PHP 7.4 وسيتم إزالتها بالكامل في إصدارات PHP 8 المستقبلة، ويمكنك أن تستعمل الأقواس المربعة [ ] بدلًا منها، وحاول كذلك إستخدام أسماء مفهومة وواضحة للمتغيرات والقيم بدلًا من FF و E فهذه الأسماء لا تعبر عن مضمونها وتصعب من إصلاح ومراجعة الأكواد:

<?php

$FF = $_POST['E'];

أيضًا في المتغير image$ أنت تحاول الحصول على اسم الصورة وليس محتاوها، لذلك ليس عليك أن تستعمل الدالة file_get_contents:

<?php

$image = addslashes($_FILES['image']['tmp_name']);

وعندما تحاول الوصول إلى قيمة ما من خلال المصفوفة POST_$ فإستخدم النصوص string لكي لا يظهر خطأ:

<?php

$id_up = $_POST["id_up"];

أخيرًا حاول أن تجعل الكلمات الدلالية في SQL بحروف كبيرة Capital لكي تكون واضحة أكثر:

<?php

$sql = "UPDATE estshara SET E='$FF', image='$image' WHERE id='$id_up'";

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...