-
المساهمات
3124 -
تاريخ الانضمام
-
تاريخ آخر زيارة
-
عدد الأيام التي تصدر بها
29
نوع المحتوى
ريادة الأعمال
البرمجة
التصميم
DevOps
التسويق والمبيعات
العمل الحر
البرامج والتطبيقات
آخر التحديثات
قصص نجاح
أسئلة وأجوبة
كتب
دورات
كل منشورات العضو محمد عاطف17
-
هذا بالفعل أنك قمت بتقسيم الإسكريبت إلى عدة سكريبتات كل سكريبت مسؤل عن شئ معين وهذا بالفعل سيحسن تنفيذ الإسكريبت و الإدخال في قاعدة البيانات . فلا تقلق من كثرة الإسكريبتات حيث كل سكريبت يعمل بمفرده حين الذهاب إلى مسار الخاص بالإسكريت فلو كان السيرفر يحوى آلاف الإسكريبتات سيعمل فقط الإسكريبت الذى يتم الذهاب إليه لذلك لا قلق من هذه الناحية . ولكن يفضل تنظيم الإسكريبتات حتي فيما بعد إذا أردت إضافة أو تعديل أو حتي إصلاح سكريبت معين فلا تتوه من كثرة الملفات وحتي تجد ما تريد البحث عنه بسرعه
- 10 اجابة
-
- 1
-
إذا كانت قاعدة البيانات مدفوعة الاستضافة فغالبا يمكن أن تتحمل عدد كبير من الأعمدة. بشكل عام لا يوجد عدد محدد يمكن التأكد منه بدون المعرفة الكاملة لمتطلبات التطبيق الخاص بك ومواصفات الاستضافة ومع ذلك فإن 30 عمود هو عدد متوسط وليس بالكبير ويمكن التعامل معه بشكل طبيعي في معظم أنظمة إدارة قواعد البيانات وهذا أيضا يعتمد على مدي عدد البيانات الموجود في القاعدة . ولكن يمكنك بالفعل تخزين أى شئ المشكلة ستكمن فقط في إحتمال أن يكون السيرفر بطئ في إحضار البيانات والبحث في قاعدة البيانات لذلك إذا لم تهتم بسرعة التطبيق فلابأس. أما بالنسبة إلى excel فإذا كنت تقصد أنك تريد إنشاء ملف excel ووضع البيانات المرسلة من form به فنعم بالطبع يمكنك ذلك بالتأكيد . يمكنك إستخدام مكتبة php الرسمية في ذلك وهى تسمى phpspreadsheet ماذا تقصد بأكثر من سكريبت في الفورم ؟
- 10 اجابة
-
- 1
-
لقد أجبناك سابقا على مثل هذا السؤال وأرى أن هذا ليس بالشئ الجيد لك حيث أنك هكذا لن تتعلم أي شئ فمن المفترض أن هذه أساسيات لغة php فإذا لم تستطع إنشاء مثل هذا الأشياء البسيطة لن تحقق شيئا في المشاريع الكبيرة . لذلك نصيحتي لك هي فهم الأفكار والأساسيات ومحاولة التطبيق وإذا لم يعمل يمكنك السؤال بعد المحاولات بنفسك ولكن طريقة نسخ الأكواد هذه فلن تفيدك بأى شئ .
-
الأمر بسيط ستحتاج فقط إلى إستماع إلى حدث التغير change ومن ثم تمرير الدالة التي تريد تنفيذها وهذه الدالة تتحقق من الخيار الذى تم إختياره ومن ثم إخفاء أو إظهار حقل الصورة: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <script> function toggleImageField() { var selectBox = document.getElementById("selectBox"); var imageField = document.getElementById("imageField"); if (selectBox.value === "نعم") { imageField.style.display = "block"; } else { imageField.style.display = "none"; } } </script> </head> <body> <form action="upload.php" method="post"> <label for="selectBox">هل ترغب في إضافة صورة؟</label> <select id="selectBox" name="option" onchange="toggleImageField()"> <option value="">اختر...</option> <option value="نعم">نعم</option> <option value="لا">لا</option> </select> <br><br> <div id="imageField" style="display: none;"> <label for="image">حقل إرسال الصورة:</label> <input type="file" id="image" name="image"> </div> <br><br> <input type="submit" value="إرسال"> </form> </body> </html> والآن ملف upload.php : <?php if ($_SERVER["REQUEST_METHOD"] == "POST") { $option = $_POST["option"]; $servername = "localhost"; $username = "root"; $password = ""; $dbname = "db_name"; $conn = new mysqli($servername, $username, $password, $dbname); if ($conn->connect_error) { die("فشل الاتصال: " . $conn->connect_error); } if ($option === "نعم") { if (isset($_FILES["image"])) { $file_name = $_FILES["image"]["name"]; $file_tmp = $_FILES["image"]["tmp_name"]; move_uploaded_file($file_tmp, "uploads/" . $file_name); $sql = "INSERT INTO table_name (book1,book2) VALUES ('$option','$targetFile')"; if ($conn->query($sql) === TRUE) { echo "تم رفع الصورة بنجاح"; } else { echo "عذراً، حدث خطأ أثناء رفع الصورة."; die(); } $conn->close(); } } else { $sql = "INSERT INTO table_name (book1) VALUES ('$option')"; if ($conn->query($sql) === TRUE) { echo "تم الإضافة بنجاح "; } else { echo "عذراً، حدث خطأ أثناء الإضافة."; die(); } $conn->close(); } }
-
لماذا تريد 5 حقول مع 5 إختيارات ؟! إذا كان فقط سيتم رفع ملف واحد وإختيار خيار واحد حيث أن هذا النظام خاطئ وليس جيدا من حيث قاعدة البيانات التي تحجز أعمدة فارغة دون داعي ومن حيث كتابة أكواد كثيرة جدا ومستقبلا إذا أردت إضافة خيار جديد سيتوجب عليك إضافة عمود في قاعدة البيانات مع إضافة خيار أخر وحقل أخر و إضافة رفع الملف الجديد في الخادم . يمكنك إضافة فقط عمودين في قاعدة البيانات عمود خاص بالإختيار الذى تم إختياره وعمود أخر بمكان الصورة . أى مثلا عمود option مع عمود hoss . والآن هذا ملف الواجهة الأمامية html : <!DOCTYPE html> <html lang="ar"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> </head> <body> <form action="upload.php" method="post" enctype="multipart/form-data"> <label for="option">من فضلك إختر من التالي:</label> <select id="option" name="option"> <option value="">اختر...</option> <option value="1">الخيار الأول</option> <option value="2">الخيار الثاني</option> <option value="3">الخيار الثاني</option> <option value="4">الخيار الثاني</option> <option value="5">الخيار الثاني</option> </select> <div> <label for="image">حقل الصورة:</label> <input type="file" name="image" accept="image/*"> </div> <button type="submit">إرسال</button> </form> </body> </html> وهذا هو كود الواجهة الخلفية upload.php : <?php if ($_SERVER["REQUEST_METHOD"] == "POST") { $option = $_POST["option"]; if ($option !in_array($option, [1,2,3,4,5])) { echo "من فضلك إختر خيار صحيح"; die(); } $path = "img". $option ."/"; $targetFile = $path . basename($_FILES["image"]["name"]); // الاتصال بقاعدة البيانات $servername = "localhost"; $username = "root"; $password = ""; $dbname = "db_name"; $conn = new mysqli($servername, $username, $password, $dbname); if ($conn->connect_error) { die("فشل الاتصال: " . $conn->connect_error); } if (move_uploaded_file($_FILES["image"]["tmp_name"], $targetFile)) { $sql = "INSERT INTO table_name (hoss$option) VALUES ('$targetFile')"; if ($conn->query($sql) === TRUE) { echo "تم رفع الملف بنجاح"; } else { echo "عذراً، حدث خطأ أثناء رفع الملف."; die(); } $conn->close(); } else { echo "عذراً، حدث خطأ أثناء رفع الملف."; } }
- 3 اجابة
-
- 1
-
أفضل المجالات حاليا التي يمكنك دخولها ويوجد بها وظائف كثيرة سواء في مجال العمل الحر أو الشركات هي تطوير تطبيقات الويب . ويوجد ثلاثة وظائف رئيسية فيها : تطوير الواجهات الأمامية (Front end) تطوير الواجهات الخلفية (back end) تطوير الويب (Full Stack) وتوجد هنا في الموقع دورات عديدة وكل دورة بعد إنهائها تؤهلك للحصول على الوظيفة من الثلاثة السابقة . ويمكنك قراءة الأجوبة التالية لشرح أوفر و حتي تستطيع أن تحدد أى stack تريد أن تعمل فيه وايضا الدورات التي تؤهلك للعمل بها :
-
إن البرمجية حرفيا هي المستقبل فإن معظم الوظائف مستقبلا ستكون من نصيب البرمجة . والمجال حاليا يتطور سريعا بشكل فائق والسباق الومنافسة حاليا أصبحت شديدة . ومن المجالات الحالية والمستقبلية هي : الذكاء الإصطناعي AI تحليل البيانات data analysis. computer vision تطبيقات الويب تطبيقات الجوال تطبيقات سطح المكتب إنترنت الأشياء IoT . أما بالنسبة إلى لغات البرمجة فهي تختلف من كل مجال إلى أخر وهي تطور بشكل سريع أيضا و أصبح الآن لا يمكن الإقتصار على تعلم لغة واحدة فقط . ومن حيث اللغة التي تحتاج لتعلمها فهي تعتمد على مجال البرمجة الذي ترغب في التخصص فيه. على سبيل المثال: إذا كنت ترغب في تطوير تطبيقات الويب، فمن المفيد أن تتعلم لغات مثل JavaScript (وإطارات عمل مثل React أو Angular) و node js أو Python (مع إطارات عمل مثل Django أو Flask). أو php مع إطار عمل مثل Laravel إذا كنت تفضل تطوير تطبيقات الجوال، فقد تحتاج إلى تعلم Swift لتطبيقات iOS أو Kotlin لتطبيقات Android. وأيا كانت اللغة التي سوف تتعلمها لا بد من متابعة التعلم دائما و البحث عن الجديد الذى يتم نشره .
-
الأمر بسيط وهو كتابة شرط لإسم المسار هكذا : <?php if ($_SERVER["REQUEST_METHOD"] == "POST") { $option = $_POST["option"]; if ($option != "inf1" || $option != "inf2") { echo "من فضلك إختر خيار صحيح"; die(); } $path = ($option == "inf1") ? "img/" : "img2/" ; $targetFile = $path . basename($_FILES["image"]["name"]); if ($_FILES["image"]["size"] > 2000000) { echo "عذراً، حجم الملف كبير جداً."; die(); } // الاتصال بقاعدة البيانات $servername = "localhost"; $username = "root"; $password = ""; $dbname = "db_name"; $conn = new mysqli($servername, $username, $password, $dbname); if ($conn->connect_error) { die("فشل الاتصال: " . $conn->connect_error); } if (move_uploaded_file($_FILES["image"]["tmp_name"], $targetFile)) { $sql = "INSERT INTO table_name ($option) VALUES ('$targetFile')"; if ($conn->query($sql) === TRUE) { echo "تم رفع الملف بنجاح"; } else { echo "عذراً، حدث خطأ أثناء رفع الملف."; die(); } $conn->close(); } else { echo "عذراً، حدث خطأ أثناء رفع الملف."; } } وهذا السطر هو ما سيقوم بتنفيذ المهمة $path = ($option == "inf1") ? "img/" : "img2/" ; لاحظ هنا قمنا بإنشاء متغير يسمى path وهو خاص بمسار الصور وقمنا بالمقارنة مع المتغير option وهو الذي تم إرساله في ال form و إذا وجدنا أنه يطابق inf1 إذا سنقوم بجعل المسار هو img لرفع الصور فيه وحفظه في قاعدة البيانات أم غير ذلك سيتم وضعه في مجلد img2 .
-
وعليكم السلام ورحمة الله وبركاته . يمكنك النظر إلى الخوارزميات إلى أنها هى الخطوات أو الطرق التي يتم تنفيذها لحل مشكلة أو عمل شئ معين و من الممكن أنه يوجد عدة خوارزميات لمشكلة معنية أو تنفيذ شئ معين و لكن الفرق الرئيسي بينهما هو ما هي أفضل خوارزمية من حيث السرعة و قلة إستهلاك الموارد . أما بخصوص كتابة الخوارميات فهي بالطبع ستجد صعوبة في بداية الأمر حيث أن كتابة الخوارزميات تعتمد بشكل أساسى على عدة أمور أهمها هي في طريقة تفكيرك لحل أى مشاكل حيث يوجد العديد من المواقع للتدريب وتقوية المستوى فى حل المشاكل (problem solving) ومن أهم تلك المواقع هو leetcode . ويمكنك قراءة الأجوبة التالية لمزيد من التفاصيل حول حل المشاكل : الآن بعد التمكن من حل المشكلات و التفكير المنطقي سيتوجب عليك الآن أن تكون ملما تمام بالأساسيات حيث أن الطريقة التالية لكتابة الخوارزمية هو معرفة طريقة كتابتها فإذا لم تكن جيدا في اللغة البرمجية فلن تستطيع تنفيذ الخوارمية وكتابتها فلهذا يجب أن تكون لديك الأساسيات لمعرفة كبفية تنفيذها . وأخيرا لا تقلق كل شئ سيأتي مع التدريب و الخبرة ومع حل المشكلات وكتابة والتمرين على كثير من الأسئلة . لذلك نصيحتى لك هو البداية في حل التمارين على المواقع الخاصة بحل المشكلات وكما ذكرت لك أشهرهم leetcode وستجد في الأجوبة التي أرفقتها لك العديد من المواقع الأخري وهذا حتي تتكون لديك مهارة التفكير المنطقى وحل المشكلات و تكون لديك حصيلة كبيرة من الخوارزمبات التي قمت بالعمل عليها وستساعدك فيما بعد على تنفيذ المشاريع.
-
وعليكم السلام ورحمة الله وبركاته. الأمر يعتمد على ما تريد تنفيذه فإذا أردت أن يوجد 2 inputs للصور ويظهر حقل واحد بناء على إختيار من select فالحل الصحيح كما وضح مصطفي في التعليق السابق . ولكن ما فهمته أنك تريد إرفاق صورة ووضعها في حقل بناء على إختيار select . ففي هذه الحالة الحل الأفضل هو وضع input واحد وليس إثنين كما فعلت . حيث يتم إرسال الملف من خلال input واحد ولكن في الواجهة الخلفية نقوم بتحديد الحقل في قاعدة البيانات بناء على ما تم إختياره من العنصر select . وهذا هو ملف الواجهة الأمامية html : <!DOCTYPE html> <html lang="ar"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> </head> <body> <form action="upload.php" method="post" enctype="multipart/form-data"> <label for="option">من فضلك إختر من التالي:</label> <select id="option" name="option"> <option value="">اختر...</option> <option value="inf1">الخيار الأول</option> <option value="inf2">الخيار الثاني</option> </select> <div> <label for="image">حقل الصورة:</label> <input type="file" name="image" accept="image/*"> </div> <button type="submit">إرسال</button> </form> </body> </html> والآن في جزء الواجهة الخلفية ملف upload.php: <?php if ($_SERVER["REQUEST_METHOD"] == "POST") { $option = $_POST["option"]; $path = "uploads/"; if ($option != "inf1" || $option != "inf2") { echo "من فضلك إختر خيار صحيح"; die(); } $targetFile = $path . basename($_FILES["image"]["name"]); if ($_FILES["image"]["size"] > 2000000) { echo "عذراً، حجم الملف كبير جداً."; die(); } // الاتصال بقاعدة البيانات $servername = "localhost"; $username = "root"; $password = ""; $dbname = "db_name"; $conn = new mysqli($servername, $username, $password, $dbname); if ($conn->connect_error) { die("فشل الاتصال: " . $conn->connect_error); } if (move_uploaded_file($_FILES["image"]["tmp_name"], $targetFile)) { $sql = "INSERT INTO table_name ($option) VALUES ('$targetFile')"; if ($conn->query($sql) === TRUE) { echo "تم رفع الملف بنجاح"; } else { echo "عذراً، حدث خطأ أثناء رفع الملف."; die(); } $conn->close(); } else { echo "عذراً، حدث خطأ أثناء رفع الملف."; } }
-
بدء تعلم لغة برمجة معينة مثل بايثون للمبتدئين ليست بالخطأ ولا يوجد مشكلة في ذلك بل هو في الواقع خيار جيد حيث أن بايثون تتميز بالتالي: سهولة البدء: حيث تتميز بايثون بسهولة التعلم والفهم مما يجعلها مثالية للمبتدئين. و تتيح لهم فهم الأساسيات البرمجية بشكل سهل. التركيز على المفاهيم الأساسية: إن معظم وإن لم تكن أغلب اللغات البرمجية لها نفس المفاهيم والأساسيات والإختلاف الرئيسي في طريقة الكتابة في اللغة ولذلك يمكن للمبتدئين التركيز على فهم المفاهيم الأساسية مثل المتغيرات، الشروط، الحلقات، والوظائف دون أن يتعقدو من المفاهيم المعقدة و الطرق الطويلة للكتابة كلغات مت C++ وغيرها. التطبيق العملي: يمكن للمبتدئين بناء تطبيقات بسيطة و سهولة وسرعه التنفيذ في لغة بايثون. ولكن بالطبع فهم علوم الحاسوب مفيد جدا لمن ليس له أى تعامل مع التكنولوجيا أو إطار البرمجة عموما حيث أن دورة علوم الحاسب تبدا لديك من الصفر تمام في كل شئ من حيث فهم الأساسيات والتفكير المنطقي لحل المشاكل و طرق التصميم وغيرها من الأساسيات التي ستسهل لك مسار التعلم و لكنه ليس شرطا أساسيا للبدء في تعلم البرمجة. حيث يمكن للمبرمجين وأي شخص أن يكتسب هذه المعرفة تدريجيا أثناء تعلمهم البرمجة بلغة محددة. لذالك ليس هناك مشكلة أو قلق في بدء تعلم لغة برمجة مثل بايثون من البداية ولكن يفضل كما وضحت لك إذا لم يكن لديك أى تعامل سابقا مع البرمجة أو التكنولوجيا عموما فإن علوم الحاسب ستسهل لك الأمور .
-
توجد عدة طرق لإغاء ال register route و الطريقة التي إتبعتها جيدة ومن المفترض أن تقوم بإلغاء رابط التسجيل . ولكن من الممكن أن المشكلة بسبب أنك إستخدمت Auth::routes(); عدة مرات ولذلك يجب حذفهم . إذا كنت تسخدم fortify في لارافيل فهذه الطريقة لن تعمل يجب عليك الذهاب إلى ملف config/fortify.php وستجد مصفوفة features كالتالي 'features' => [ // Features::registration(), // إلفاء رابط التسجيل Features::resetPasswords(), Features::emailVerification(), Features::updateProfileInformation(), Features::updatePasswords(), Features::twoFactorAuthentication(), ], قم بعمل comment للسطر الأول كما وضحتها لك. إذا لم تعمل أى من الحلول السابقة الحل الوحيد إذا هو إنشاء الرابط بنفسك وإرجاع صفحة 404 هكذا : Route::get('/register', function() { return abort(404); }); وتأكد من وضع الكود السابق في بداية الملف
-
يجب عليك إنشاء صفحة HTML تحتوي على نموذج (Form) يحتوي على حقول لرفع صورة البطاقة الشخصية وحقول أخري للبينات التي تريدها . ملف ال form : <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> </head> <body> <form action="upload.php" method="post" enctype="multipart/form-data"> <label for="name">الإسم:</label><br> <input type="text" id="name" name="name"><br><br> <label for="email">البريد:</label><br> <input type="email" id="email" name="email"><br><br> <label for="file">قم برفع الصورة الشخصية:</label><br> <input type="file" id="file" name="file"><br><br> <input type="submit" value="Submit"> </form> </body> </html> هنا قمنا بإنشاء form لملئ البيانات والبيانات هي الإسم والبريد و ملف الصورة الشخصية . وأيضا تأكد من وضع خاصية enctype="multipart/form-data" في عنصر ال form للسماح برفع الصور . ملف PHP لمعالجة النموذج (upload.php): <?php // تحقق من أن الفورم تم إرساله بشكل صحيح if ($_SERVER["REQUEST_METHOD"] == "POST") { // اتصال بقاعدة البيانات - يمكنك تعديل المعلومات التالية حسب إعدادات قاعدة البيانات الخاصة بك $servername = "localhost"; $username = "root"; $password = ""; $dbname = "test"; // إنشاء اتصال $conn = new mysqli($servername, $username, $password, $dbname); // تحقق من الاتصال if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } // استخراج البيانات من الفورم $name = $_POST['name']; $email = $_POST['email']; // رفع الصورة الشخصية $file_name = $_FILES['file']['name']; $file_tmp = $_FILES['file']['tmp_name']; move_uploaded_file($file_tmp,"images/".$file_name); // حفظ الصورة في مجلد images بالخادم // تخزين البيانات في قاعدة البيانات $sql = "INSERT INTO user (name, email, personal_id_image) VALUES ('$name', '$email', '$file_name')"; if ($conn->query($sql) === TRUE) { echo "تم إرسال البيانات بنجاح!"; } else { echo "خطأ: " . $sql . "<br>" . $conn->error; } // إغلاق الاتصال بقاعدة البيانات $conn->close(); } ?> تأكد من أن مجلد الصور images موجود ولديك الصلاحية للرفع عليه من قبل السيرفر. وهذه هي أبسط طريقة لرفع الصور بواسطة php. ويمكنك قراءة المزيد من الإجابات التالية :
- 2 اجابة
-
- 1
-
إن طريقة مذاكرة البرمجة مختلفة عن جميع طرق المذاكرة الأخري حيث هنا في البرمجة يجب عليكي أولا فهم الأساسيات وليس حفظها ومع التكرار والعمل كثيرا ستجدين أنكي تلقائيا قمتي بحفظ تلك الدوال تلقائيا. وليس عليكي بالتأكيد حفظ جميع الدوال فلا يوجد أحد يحفظ جميع الدوال الموجودة و لكن يعرف فيما وكيف تستخدم . ولكن يوجد بعض الدوال يجب بالطبع عليكي حفظها ولكن يمكنك إستخدام الإقتراح التلقائى لتكملة الدوال حاليا ويكفي فقط أنكي تفهمين ما هي وظيفتها وفيما تستخدم . أما بالنسبة للإختبار فلن يتم السؤال في كل الأمور النظرية ولكن التركيز سيكون بشكل أكبر على الجانب العملي والأمور النظرية الهامة و أيضا السؤال حول التطبيقات العملية التي قمت بها ومدى استيعابك بعد ذلك سيتم تحديد مشروع عملي لكؤ لتنفيذه كمشروع تخرج وأيضا الإختبار سيكون محادثة صوتية لمدة 30 دقيقة ولن يكون البحث عبر جوجل متاحا . فالإختبار سيكون لمقياس مدي إستيعابك. ويمكنكي الاطلاع على تفاصيل ومراحل اجتياز الامتحان من هذا الرابط. ويمكنكي قراءة تفاصيل أكثر حول هذا في الإجابات التالية :
-
لاحظ أنك قمت بتسمية ال route إلى student-edit و تقوم بإستدعائه ب student.edit لذلك الحل هو كالتالي في ملف web.php : Route::get('/student.edit', [StudentController::class, 'edit'])->name('student.edit');
- 14 اجابة
-
- 1
-
هذا هو إسم العمود وهو gender ويمكنك تغيره إلى أي إسم تريده وإستقباله في الخادم: <select id="gender" name="gender"> وهذا هو إسم العمود في إختصاص الرجال maleJob : <select id="maleJob" name="maleJob"> وإسم العمود في إختصاص النساء هو femaleJob : <select id="femaleJob" name="femaleJob">
- 13 اجابة
-
- 1
-
أعتقد أنك يجب عليك دراسة الأساسيات أولا قبل البدأ في أى مشاريع حيث أنك إذا لم تكن لديك علم بالأساسيات فالعمل سيكون صعبا و لن يكون شيئا جيدا بالنسبة للتعلم . أولا إن ما يتم إرساله إلى الخادم هو مصفوفة تحمل المدخلات الخاصة بال Form . وهذه المصفوفة تكون المفاتيح فيها هي خاصية ال name فى المدخلات و قيمتها هي ما تم إدخاله . لاحظ هنا <select id="femaleJob" name="femaleJob"> الخاصية name لها قيمة femaleJob إذا ما سيتم إرساله إلى الخادم كالتالي فرضا أن المستخدم إختار ممرضة : [ "femaleJob" => "ممرضة" ] وهذا ما سيأتي في الخادم : $femaleJob = $_POST['femaleJob']; وهكذا في أى مدخل (input) لديك . و يمكنك بعد ذلك إدخاله في قاعدة البيانات
-
كما أخبرتك منذ البداية أنك تستخدم الدالة route('student-create') دون أن تعرف ال route في web.php وستجد هنا أنك تستخدمها وأعتقد أن هذا سطر 13 كما أخبرتك. والحل هو وضع الإسم في ملف web.php كما أخبرتك هكذا Route::get('/student.create', [StudentController::class, 'create'])->name('student-create'); وهذا سيحل المشكلة إن شاء الله حيث وضعنا إسم لل route وهو نفس الإسم الذى تستدعيه وهو student-create
-
الخطأ في ملف student.blade.php سطر 13 وليس create.blade.php . عموما الحل هو تبديل أخر سطر لديك في ملف web.php بالتالي : Route::get('/student.create', [StudentController::class, 'create'])->name('student-create');
- 14 اجابة
-
- 1
-
وعليكم السلام ورحمة الله وبركاته الخطأ لديك أنك تستخدم ال routing name دون أن تقوم بتعريفه . ستجد أنك تستخدم الدالة route('student-create') في ملف ال view دون أن تقوم بتعريف إسما لل route student-create في ملف web.php . لذلك يجب عليك إرسال ملف web.php وملف ال view الذى يحدث فيه المشكلة .
-
عذرا كان يجب أيضا تغير كود الجافاكريبت حتي تظهر قيم حقول ال select وهذا هو الكود بعد التعديل : <script> const genderSelect = document.getElementById('gender'); const maleJobsDiv = document.getElementById('maleJobs'); const femaleJobsDiv = document.getElementById('femaleJobs'); genderSelect.addEventListener('change', function() { if (this.value === 'ذكر') { maleJobsDiv.style.display = 'block'; femaleJobsDiv.style.display = 'none'; } else if (this.value === 'أنثى') { maleJobsDiv.style.display = 'none'; femaleJobsDiv.style.display = 'block'; } else { maleJobsDiv.style.display = 'none'; femaleJobsDiv.style.display = 'none'; } }); </script> وتأكذ إذا قمت بتغير ال value في عناصر ال select قم بتغيرها في هذا الجظء أيضا بنفس الثمية تمام
-
يمكنك تعير ذلك من خلال تغير الخاصية value في عنصر option بداخل select هكذا : <label for="gender">الجنس:</label> <select id="gender" name="gender"> <option value="">اختر الجنس</option> <option value="ذكر">ذكر</option> <option value="أنثى">أنثى</option> </select> هنا قمنا بتعير كلمة male في الخاصية value إلى ذكر و female إلى أنثى ويمكنك تغيرهم الى أي قيمة تريد . <div id="maleJobs" style="display: none;"> <label for="maleJob">الوظيفة (للذكور):</label> <select id="maleJob" name="maleJob"> <option value="">اختر الوظيفة</option> <option value="مهمدس">مهندس</option> <option value="طبيب">طبيب</option> <option value="مدرس">مدرس</option> </select> </div> <div id="femaleJobs" style="display: none;"> <label for="femaleJob">الوظيفة (للإناث):</label> <select id="femaleJob" name="femaleJob"> <option value="">اختر الوظيفة</option> <option value="ممرضه">ممرضة</option> <option value="مدرسة">مدرسة</option> <option value="مصممة">مصممة</option> </select> </div> وهنا أيضا قمنا بتغير الخاصية value إلى الفيمة التي تريدها ويمكنك تغيرها كيفما شئت
- 13 اجابة
-
- 1
-
مرحبا احمد . مما اتذكر انك مشترك في دورة php وهذه الدورة هي خاصة ببرمجة الواجهات الخلفية وفيها تقوم بتعلم برمجة نطبيقات متكاملة ب php واطار عمل لارافيل وايضا ستقوم بتعلم إنشاء واجهات API ولكن لن يتم إستدعائها في المشروع حيث هذه من وظائف مبرمج الواجهات الامامية . اما الدورات الخاصة بالواجهات الامامية مثل دورة تطوير التطبيقات باستخدام JavaScript ففي هذه الدورة ستتعلم تطوير وبرمجة الواجهات الامامية وكيفية استخدام واستدعاء ال API فى المشروع
-
إذا المشكلة كما وضحت لك أنه تم عمل حفظ للبيانات chaching ويتم مسحها بعد مدة معينة من الممكن أن تكون عدة ساعات . الآن إذا لم تقم بإضافة الكود الذى أرفقته لك وقمت بإضافة بيانات في قاعدة البيانات في جدول الproperties ستجد أن البيانات الجديدة لا تظهر لأنه قام بعمل caching للبيانات القديمة . والكود الذى أرفقته لك يقوم بتجاهل حفظ ال chaching ويقوم بفرض إعادة إحضار البيانات الجديدة.
- 3 اجابة
-
- 1
-
ليس من الواجب فهم كل المواضيع الموجودة جميعها في موسوعة حاسوب أو أى مكان آخر يكفي فقط فقهم الأساسيات حيث كل شئ سيأتي بالخبرة والتدريب والعمل على المشاريع. إذا كنت مشترك في دورة غير دورة تطوير واجهات المستخدم ستجد أن أول مسار هو أساسيات html و css وهو متاح مجانا لأى شخص دون الإشتراك في الدورة . أما إذا كنت مشترك في دورة تطوير واجهات المستخدم يكفى مذاكرة أول مسار