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

لدي مشكلة عند تشغيل الكود

Ahmed Yhya

السؤال

Recommended Posts

  • 0

في السطر 49 من الملف queryBuilder.php أنت تقوم بتنفيذ التعليمة execute بدون تمرير القيم، و بالتالي هو لن يقوم بتبديل إشارات الاستفهام في تعليمة ال sql.

عليك القيام بتمرير القيم التي ستعوض إشارات الاستفهام، مثال على ذلك:

$sql = "UPDATE users SET name=?, surname=?, job=? WHERE id=?";
$stmt= $pdo->prepare($sql);
$stmt->execute([$name, $surname, $job, $id]);

حيث أن المتغيرات التي نمررها إلى execute يجب أن تكون معرفة مسبقاً بالطبع، في حالتك أعتقد أنها ضمن المصفوفة values.

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

  • 0

لديك بعض الأخطاء في مشروعك:

  • في صنف الطلب Request بالتابع uri نسيت إضافة النقطتين (:) لتكوين الرابط:
$uri = $_SERVER['REQUEST_SCHEME'] . "://" . $_SERVER['HTTP_HOST'] . $uri;
                                     ^^
  • في التابع view بالملف helpers لديك خطأ حيث أن ملفات العروض لا تُطابق ما تقوم بتضمينه:
require "resources/{$name}.view.php";
                          ^^

بينما أسماء ملفات العروض لديك بالشكل index-view.php و about-view.php و أنت تطابق الشكل index.view.php لذلك عليك تغيير التسمية أو مطابقة الإسم بشكل صحيح:

require "resources/{$name}-view.php";
  • في التابع update بالصنف queryBuilder لا تقوم بتمرير مصفوفة القيم عليك تمريرها حتى يتم تنفيذ الإستعلام بشكل صحيح:
$statement->execute($values);
                    ^^^^^^^
  • في صنف المتحكم taskcontroller بالتابع create لديك خطأ:
queryBuilder::insert('tasks', ['des' => $des, 'comp']);
                                              ^^^^^^

تمرر المفتاح لوحده دون قيمة و هذا يسبب خطأ أثناء التنفيذ، عليك تمرير قيمة للخاصية comp أو عدم كتابتها إذا كنت تضع قيمة إفتراضية:

queryBuilder::insert('tasks', ['des' => $des, 'comp' => 0]);

// أو

queryBuilder::insert('tasks', ['des' => $des]);
  • أخيراً في التصميم لا يظهر خط يوضح أن المهمة مكتمة بسبب أن صنف التنسيقات الذي أعلنت عنه هو completed بينما تستخدم في العناصر الصنف comp:
<div class="todo-item p-2 <?= !$task->comp ? : 'comp' ?>"> 
                                                ^^^^

عليك مطابقة صنف التنسيقات:

.todo-item.completed div {
  text-decoration: line-through;
}

يٌفضل طرح الأسئلة الخاصة بالدورات في صفحة الدرس المخصص، لأن هذا القسم مخصص للأسئلة العامة.

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

  • 0
بتاريخ 23 ساعة قال سمير عبود:

لديك بعض الأخطاء في مشروعك:

  • في صنف الطلب Request بالتابع uri نسيت إضافة النقطتين (:) لتكوين الرابط:
$uri = $_SERVER['REQUEST_SCHEME'] . "://" . $_SERVER['HTTP_HOST'] . $uri;
                                     ^^
 
  • في التابع view بالملف helpers لديك خطأ حيث أن ملفات العروض لا تُطابق ما تقوم بتضمينه:
require "resources/{$name}.view.php";
                          ^^
 

بينما أسماء ملفات العروض لديك بالشكل index-view.php و about-view.php و أنت تطابق الشكل index.view.php لذلك عليك تغيير التسمية أو مطابقة الإسم بشكل صحيح:

require "resources/{$name}-view.php";
 
  • في التابع update بالصنف queryBuilder لا تقوم بتمرير مصفوفة القيم عليك تمريرها حتى يتم تنفيذ الإستعلام بشكل صحيح:
$statement->execute($values);
                    ^^^^^^^
 
  • في صنف المتحكم taskcontroller بالتابع create لديك خطأ:
queryBuilder::insert('tasks', ['des' => $des, 'comp']);
                                              ^^^^^^
 

تمرر المفتاح لوحده دون قيمة و هذا يسبب خطأ أثناء التنفيذ، عليك تمرير قيمة للخاصية comp أو عدم كتابتها إذا كنت تضع قيمة إفتراضية:

queryBuilder::insert('tasks', ['des' => $des, 'comp' => 0]);

// أو

queryBuilder::insert('tasks', ['des' => $des]);
 
  • أخيراً في التصميم لا يظهر خط يوضح أن المهمة مكتمة بسبب أن صنف التنسيقات الذي أعلنت عنه هو completed بينما تستخدم في العناصر الصنف comp:
<div class="todo-item p-2 <?= !$task->comp ? : 'comp' ?>"> 
                                                ^^^^
 

عليك مطابقة صنف التنسيقات:

.todo-item.completed div {
  text-decoration: line-through;
}
 

يٌفضل طرح الأسئلة الخاصة بالدورات في صفحة الدرس المخصص، لأن هذا القسم مخصص للأسئلة العامة.

لقد عملت مثل ملاحضاتك لكن الكود لايعمل 

133.png

projectho.zip

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

  • 0
بتاريخ 27 دقائق مضت قال Ahmed Yhya:

لقد عملت مثل ملاحضاتك لكن الكود لايعمل 

السبب أنك غيرت أشياء على آخر نسخة، الخطأ يخبرك أنه لم يتم التعرف على صنف المتحكم و الخطأ بسبب:

use App\Core\controller\taskcontroller;

في حين أنه حالياً مجال الإسم لصنف المتحكم هو:

namespace App\Controller;

فعند إستخدامه نكتب:

use App\Controller\taskcontroller;

الخطأ في ملف index.php حاول تصحيحه و سيختفي الخطأ.

أيضاً كما أخبرتك يُرجى طرح الأسئلة في صفحة الدرس المخصص و لا تقلق سنقوم بالإجابة و الرد عليك، يمكنك الإستفسار على أي شيء تريد.

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

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...