Ahmed.Sayed
الأعضاء-
المساهمات
23 -
تاريخ الانضمام
-
تاريخ آخر زيارة
المعلومات الشخصية
- الموقع
آخر الزوار
لوحة آخر الزوار معطلة ولن تظهر للأعضاء
إنجازات Ahmed.Sayed
-
غالبًا أنك لم تقم بتضمين ملف الـ _breakpoints.scss حيث يجب عليك التأكد من أنك قمت بتضمين الملف التالي:- @import "~bootstrap/scss/mixins/_breakpoints.scss"; إذا قمت بتضمينه سيعمل الكود الخاص بك بشكل سليم تمامًا ، من المرجح كذلك أنك قمت بتضمين مسار خاطئ ، يرجى التأكد من المسار.
- 2 اجابة
-
- 1
-
يمكنك البداية بـ موسوعة حسوب لشرح الخوارزميات وأنواعها الخوارزميات - موسوعة حسوب كذلك يمكنك إيجاد مستودعات لشرح الخوارزميات على موقع GitHub بشكل ممتاز ومٌفصل. وإذا كنت تريد تطبيق تلك الخوارزميات ككود يمكنك إستعمال موقع Codeacademy حيث هناك الكثير من الخوارزميات التي يمكنك تطبيقها على اللغات البرمجية المختلفة. يمكنك كذلك الإطلاع على المقالات التالية:-
-
نعم ، يوجد بالفعل حزمة متوفرة على المستودع التالي في جيت هب. laravel-subscriptions كذلك أرشح لك خيار أفضل وهو حزمة مقدمة من laravel https://laravel.com/docs/9.x/billing والحزمة كذلك خالية من نظام المدفوعات ، بمعنى أنها مناسبة تمامًا لإحتياجاتك المكتوبة. يمكنك كذلك عمل النظام يدويًا ، لكن سيكون هناك مجهود أكبر في إنشاءها ، بمعنى آخر ستحتاج لإعادة إنشاء العجلة ، على كلً يمكنك جعل الإشتراك ينتهي عبر جدولة المهام الموجودة في لارافيل يمكنك الإطلاع على الشرح الخاص بها على الويكي الخاص بحسوب. جدولة المهام (Task scheduling) في Laravel
- 1 جواب
-
- 1
-
نعم يمكنك ، وهناك عدة طرق لتستطيع الولوج إلى موقع مُستضاف محليًا على جهاز آخر وأسهل طريقة هي الإتصال عبر نفس الشبكة يجب على الجهاز الذي تستخدمه أن يكون متصل بنفس الشبكة المُستضاف عليها الجهاز ، ثم ستستخدم الأيبي للولوج للموقع ، ويمكنك الحصول على الأيبي عبر الدخول لإعدادات الشبكة وإيجاد IPv4 Address من "مشاهدة حالة الإتصال" كذلك يمكنك إستعمال الـhostname بدلًا من الأيبي للولوج إلى التطبيقات المستضافة محليًا. والطريقة الأخرى هي بتحويل الجهاز الخاص بك إلى خادم لإستضافة الموقع (ينطوي هذا الخيار على بعض من المخاطرة على ملفاتك) وهي بالخطوات التالية:- فتح البورت الخاص المطلوب من الراوتر الخاص بك ، أو التواصل مع الشركة التي تقوم بتزويدك بالإنترنت لفتحه. ضبط إعدادات الـ NAT & DHPC gateway لتعمل مع الأجهزة الخارجية. ربط الدومين الخاص بك على جهازك الذي أصبح بمثابة مستضيف الآن للموقع.
- 2 اجابة
-
- 1
-
يجب أولًا توضيح ماهي واجهات الموقع ، الواجهة تعني التصميم أو الشكل الخاص بالموقع وهي تختلف عن الواجهة الخلفية ، الواجهة الخلفية لا تراها ولكنها هي المسؤولة بدرجة أولى عن تخزين والتعامل ومعالجة البيانات ، منها كذلك الدفع وإرسال بريد إلكتروني ، الواجهات الأمامية تعني التصميم ، تحديدًا HTML & CSS &JS. يمكنك رؤية هذا في صفحة الدورة تحت "ماذا ستتعلم في هذه الدورة" حيث ستجد التالي:- أساسيات لغات تطوير واجهات المستخدم: HTML, CSS, JavaScript. مفهوم الواجهة الأماميّة للموقع front-end وكيفية عملها. استخدام أحدث أدوات التطوير: Bootstrap, jQuery, Sass, Gulp. وغيرها الكثير ، طبعًا بعد إنهاء وإتقان الواجهة الأمامية يمكنك إختيار لغة للواجهة الخلفية ، مثلًا دورة الـ PHP ، ويمكنك كذلك إستخدام جافاسكربت للواجهة الخلفية عبر النود جي إس.
-
من الأفضل عدم إستدعاء الهيدر والفوتر فرديًا بهذه الطريقة أو عمل include الأفضل هو إستعمال extends في التعامل مع القوالب ، أولًا ستقوم بعمل ملف إسمه base.html داخل هذا الملف ستقوم بوضع الهيدر والفوتر والجزئية المتغيرة للصفحة أو الـ content بمعنى أصح. {% include "templates/header.html" %} {% block content %} {% endblock %} {% include "templates/footer.html" %} الآن يمكنك في صفحة الـ home ببساطة وضع الكود التالي وبدء إنشاء محتويات الصفحة بدون الحاجة لعمل include كل مرة للهيدر والفوتر. {% extends 'base.html' %} {% block content %} <p>محتوى الصفحة هنا</p> {% endblock %} تستخدم هذه الطريقة لجعل التحكم أكثر مرونة في المحتوى ومنفصل ومُقسم بشكل أفضل ، مثلًا لو احتجت لإضافة شيء أسفل الهيدر ستحتاج لتغييرها في كل الصفحات إذا إستعملت include لكل الصفحات ، لكن بهذه الطريقة يكفيك التعديل على الـ base.html.
- 1 جواب
-
- 2
-
يجب عليك أولًا تنصيب Jquery npm i jquery ثم تقوم بعمل إستدعاء لمكتبة الـ Jquery داخل المسار التالي resources/js/bootstrap.js window.$ = require('jquery'); كذلك من أفضل الحلول بالنسبة لي وأبسطها هو تحميل الملفات الخاصة بـ Jquery مباشرة ووضعها في ملف الـpublic وربطها مباشرة بدون إستعمال الmix عن طريق حفظ ملفات jquery في المسار التالي public/js ثم إستدعاءها في الHead بهذا الشكل <script src="{{ asset('js/jquery-3.6.0.min.js') }}"></script> تعتبر الطريقة الأخيرة من أبسط وأضمن الطرق.
- 2 اجابة
-
- 1
-
يبدو الكود الخاص بك سليم ، تعود المشكلة في هذه الحالة غالبًا لقاعدة البيانات ، من الحلول الشائعة إزالة الباسوورد ، مادام أن التعامل يكون على السيرفر المحلي فلا فائدة من إستخدام كلمة سر. يمكنك الرد في حال لم يعمل هذا الحل معك.
-
ببساطة يجب عليك تمرير المتغيرات عبر تعريفها بالإسم بالشكل التالي:- {{ route('admin.page', ['username'=>'emad', 'id'=>12]) }} عدم تعريفك لأسماء الباراميترز سيُظهر لك خطأ في الصفحة ، لكن بهذه الطريقة من المفترض أن يعمل الكود الخاص بك بشكل سليم تمامًا. يمكنك الإطلاع على توثيق التالي لمعرفة المزيد من التفاصيل Routing - Laravel 9.x
- 2 اجابة
-
- 1
-
STATIC_ROOT هو مسار الملفات الثابتة بعد إستخدام manage.py collectstatic بينما MEDIA_ROOT هي خاصة فقط بمسار الملفات التي يتم رفعها بإستخدام "FileField" يمكنك الإطلاع على التوثيق الخاص بهما لمعرفة المزيد من التفاصيل. STATIC_ROOT - Django MEDIA_ROOT - Django
- 2 اجابة
-
- 1
-
حسب ما إستنتجت أن مشكلتك مع الروابط ، هذه المشكلة تكون في الـhtml تحديدًا بحيث يكون هذا هو الكود "كمثال" <a href="https://beta.domain.com/login.php">login</a> هنا ستحتاج لإستبدال الـhref وجعله بالـ login.php ، بحيث إذا قمت بإضافة دومين آخر سيقوده لنفس الدومين الموجود عليه المستخدم ، ولن يحتاج للذهاب لسبدومين الـbeta بمعنى آخر سيكون بهذا الشكل <a href="/login.php">login</a> كذلك يمكنك عمل redirect من السبدومين الأول إذا كنت تريد إستعمال السبدومين test فقط.
-
نعم ، يمكنك إستعمال فلتر yesno لحل هذه المشكلة ، وهو بسيط جدًا {{ value|yesno:"yeah,no,maybe" }} هنا إذا كانت قيمة الـ value = true سيقوم بطباعة yeah إذا كانت قيمة value = false سيقوم بطباعة no إذا كانت قيمة value = none سيقوم بطباعة maybe كذلك يمكنك جعلها بهذه الشكل {{ value|yesno:"yeah,no" }} هنا سيتم تحويل الـ none لـ false ، يمكنك الإطلاع أكثر من خلال توثيق django على الفلتر توثيق فلتر yesno من django
- 2 اجابة
-
- 1
-
حسنًا ، إنشاء أي نموذج للتعامل مع قاعدة بيانات يحتاج إلى تصميم ، كما ذكرت سيكون هناك حقلان ، حقل لمُعرف الطالب وهو الـ ID number ، والحقل الآخر هو كلمة السر ، والآن لنفترض أن إسم الصفحة هو checkGrade.php <form method="POST" action="checkGrade.php"> <input type="text" placeholder="ID Number" name="ID" /> <input type="password" placeholder="Password" name="password" /> <button type="submit">Show Your Grade</button> </form> سيكون هذا النموذج "بشكل أولي" مع إمكانية إضافة تصميم عبر الـcss ، الآن إنتهينا من الواجهة الأمامية. يبقى الواجهة الخلفية او الباك إند. سنحتاج أولًا لإستدعاء wpdb لنتعامل مع قاعدة بيانات الووردبريس global $wpdb; ثانيًا يجب أن نتأكد أن المستخدم قام بتعبئة حقل الأيدي والباسوورد عبر الشرط التالي if( isset($_POST['ID']) && isset($_POST['password']) ) // يتم التحقق من تعبئة إسم المستخدم وكلمة السر { } داخل هذا الشرط سنقوم بإستدعاء البيانات المطلوبة من قاعدة البيانات بعد التأكد من وجود أيدي وباسوورد بنفس المُدخلات التي أدخلها الطالب ، سنستخدم الدالة التالية $wpdb->get_results() والتي هي من الووردبريس نفسها وتقوم بإستدعاء البيانات من قاعدة البيانات عبر ال SQL Queries ، وطبعًا لتجنب حدوث مشاكل أو إختراق أو تلاعب في البيانات يجب علينا حماية المُدخلات من هذا التلاعب عبر الدالة التالية $wpdb->prepare() وهذه الدالة تحديدًا سنقوم بوضع الـ query فيها مع المتغيرات كـ argument ثاني بعد الـ query ، طبعًا سأرفق لك التوثيقات المطلوبة من الووردبريس للإطلاع على هذه الدوال بشكل أكثر تفصيلًا في نهاية الرد. وسيكون تجهيز الـ query بهذا الشكل:- $query = $wpdb->prepare( "SELECT grade FROM grades WHERE ID_number = '%s' AND password='%s' " , [$_POST['ID'], $_POST['password'] ] ) طبعًا يمكنك تغيير الأسماء حسب إحتياجاتك ، الآن أصبح الـquery جاهز ومحمي ، تبقى فقط تمريره لقاعدة البيانات لإستدعاء الدرجة المطلوبة ليكون بهذا الشكل <?php global $wpdb; if( isset($_POST['ID']) && isset($_POST['password']) ) // يتم التحقق من تعبئة إسم المستخدم وكلمة السر { $query = $wpdb->prepare( "SELECT grade FROM grades WHERE ID_number = '%s' AND password='%s' " , [$_POST['ID'], $_POST['password'] ] ) $result = $wpdb->get_results($query); echo 'Your grade is '.$result[0]['grade']; } ?> <form method="POST" action="index.php"> <input type="text" placeholder="ID Number" name="ID" /> <input type="password" placeholder="Password" name="password" /> <button type="submit">Show Your Grade</button> </form> الآن تبقى آخر شيء وهو أمر طباعة الدرجة بالشكل التالي:- echo 'Your grade is '.$result[0]['grade']; ليكون الكود بشكله الكامل بهذه الطريقة وهذه هي أبسط طريقة للكود ، يمكنك إضافة تعديلات حسب إحتياجاتك. وأخيرًا هذه هي التوثيقات الخاصة بالدوال في wordpress wpdb::get_results() wpdb::prepare()
-
سأفصل لك الأخطاء مع التصحيح ، مبدئيًا <input type="text" id="username" name="username"><br> قمت بوضع هذا المُدخل قبل الـنموذج نفسه ، بالتالي ليس له فائدة ، والأصح أن يكون المُدخل داخل النموذج ونفس الأمر كذلك ينطبق على المُدخلات الموجودة بعد النموذج. فلا يمكنك وضع مُدخل إلا داخل وسم <form> فقط في حالتك. ثاني نقطة ، وهي بخصوص وسم <form> ، يلزم لوسم الـ form إضافة الaction والـmethod وهذا الكود كمثال بسيط <form action="addUser.php" method="post"> <fieldset> <legend>النموذج</legend> <input type="text" name="username" id="username"> <label for="username">اضغط هنا</label> </fieldset> </form> كذلك في السطر ما قبل الأخير ، قمت بوضع نهاية للوسم form ، بالرغم أنك أغلقته في الأعلى ، بمعنى أنك قمت بإغلاق الوسم form مرتين. هذه كانت المشاكل الملحوظة في الكود الخاص بك ، يمكنك الإطلاع على موسوعة حسوب ومشاهدة أمثلة ومحتويات الـ HTML للحصول على فائدة ومعرفة أكثر. موسوعة حسوب - HTML