0 محمد المري2 نشر 18 فبراير 2018 أرسل تقرير نشر 18 فبراير 2018 بتاريخ 2 ساعات قال روب رات: كود edit.php edit.php $sql="SELECT * FROM threads WHERE id='$id'"; $id لم يتم تجهيزة بأي قيمة قبل الإتصال بقواعد البيانات. يجب استيراد الـ id وتخزينه في $id ثم بعد ذلك تقوم بالإتصال بقواعد البيانات. حتى يتم تحويل المتغير الى القيمة المخزنة بداخلة (القيمة المستوردة) . اقتباس
0 أيمن دوبابي نشر 18 فبراير 2018 الكاتب أرسل تقرير نشر 18 فبراير 2018 هل يمكن ان تفسر اكثر اخي "محمد" انا مبتدا في php اقتباس
0 محمد المري2 نشر 19 فبراير 2018 أرسل تقرير نشر 19 فبراير 2018 بتاريخ 1 ساعة قال روب رات: هل يمكن ان تفسر اكثر اخي "محمد" انا مبتدا في php المتغيرات في الـ PHP (وفي كافة لغات البرمجة) تعمل على حفظ القيم المعطاه لها. فمثلاً لو قمت بإنشاء متغير جديد وإعطاءه القيمة 1. سيحمل المتغير هذه القيمة, فإينما وضعت المتغير سيتم قرائتها على أنها 1. لكن عندما تقوم بإنشاء المتغير بدون أي قيمة مسجلة, سيعطي NULL او سيظهر خطأ على حسب لغة البرمجة. في الـ PHP أي متغير يتم إنشاءه بدون قيمة, سيتم تسجيل قيمة NULL بداخله. مثال على ذلك : $id; $NullCheck = is_null($id); //True or False if($NullCheck == 1){ echo "I'm a NULL"; }else{ echo "$id"; } في المثال أعلاه, قمنا بإنشاء متغير id$ بدون إعطاءه أي قيمة, ثم قمنا بإنشاء متغير آخر NullCheck$ وسجلنا به الدالة $NullCheck = is_null($id) ودالة is_null() في الـ PHP تقوم بمراجعة قيمة المتغير id$ فإذا كانت قيمته NULL ستكون النتيجة 1 (اي True) وإذا كانت غير ذلك ستكون النتيجة 0 (اي False). لو لاحظت أني لم أقم بإعطاء id$ اي قيمة, وعند محاكاة الكود اعلاه ستظهر لنا رسالة I'm a NULL وهذا بسبب أن id$ لا يحمل قيمة بداخلة بل يحمل قيمة NULL. ولو استخدمنا وضع Debug في PHP وإظهار الأخطاء error_reporting(E_ALL) سيظهر لنا خطأ Undefined variable وهذا يعيد كلامي السابق بأن المتغير لم يتم إعطاءه أي قيمة. ولكن لو قمنا بإعطاء المتغير id$ قيمة (مثلا 1) واستخدمنا المثال السابق, ستظهر لنا النتيجة (1) ويزول خطأ Undefined variable مثال : $id = 1; $NullCheck = is_null($id); //True or False if($NullCheck == 1){ echo "I'm a NULL"; }else{ echo "$id"; } هذه فكرة ملخصة عن المتغيرات. قد تكون قيمة مضافة لك وقد تكون مراجعة. نعود الى الخطأ الرئيسي في الكود الخاص بك. لديك $sql="SELECT * FROM threads WHERE id='$id'"; يجب ان يكون المتغير id$ لديه قيمة مسبقة حتى يتم استبداله بهذه القيمة, ولكن في الكود الخاص بك ليس هنالك أي قيمة مسبقة له. فمثلاً كحل سريع للمشكلة , لنقل أن الرقم التعريفي للمنشور المراد التعديل عليه هو 456. فلو قمنا بعمل الآتي : $id = 456; if($connect=mysqli_connect('localhost','root','a','flip')){ $sql="SELECT * FROM threads WHERE id='$id'"; $query=mysqli_query($connect,$sql); وبهذا تم حل مشكلة التعديل على المنشور رقم 456. ولكن هذا يعني اننا سنحتاج إلى وضع رقم المنشور في كل مره يحتاج الى تعديل بشكل يدوي. إذا سنحتاج الى طريقة لجلب رقم المنشور المراد التعديل عليه وثم تخزينة في id$. حتى يتم تنفيذ امر sql$ بدون مشاكل. وطريقة جلب رقم المنشور تعتمد على طريقة حفظ رقم المنشور نفسه واستدعائه. اقتباس
0 أيمن دوبابي نشر 19 فبراير 2018 الكاتب أرسل تقرير نشر 19 فبراير 2018 بارك الله فيك اخي محمد نجح الامر شكرا!!!!! اقتباس
السؤال
أيمن دوبابي
كود edit.php
edit.php
4 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.