لوحة المتصدرين
المحتوى الأكثر حصولًا على سمعة جيدة
المحتوى الأعلى تقييمًا في 02/07/24 in أجوبة
-
السلام عليكم ورحمة الله وبركاتة اعمل على موقع عربي واريد ترجمته للإنجليزية عند الضغط على الأيقونة الخاصة كيف ؟2 نقاط
-
2 نقاط
-
2 نقاط
-
جزاك الله خير استاذي الغالي المشكلة كانت في اني لم احدد الvalue الخاصة بالكود الان يعمل بارك الله فيك جزاك الله خير استاذي الغالي فعلا هذه كانت المشكلة بارك الله فيك2 نقاط
-
<?php require_once('database.php'); if ($_SERVER["REQUEST_METHOD"] == "POST") { $fullname = $_POST["FName"]; $email = $_POST["Email"]; $feedback = $_POST["feedback"]; if (empty($fullname) || empty($email) || empty($feedback)) { echo "Please fill in all required fields."; return; } $sql = "INSERT INTO feedback (full_name, email, feedback) VALUES ($fullname, $email, $feedback)"; $stmt = $conn->prepare($sql); $stmt->bindParam(":fullname", $fullname); $stmt->bindParam(":Email", $email); $stmt->bindParam(":feedback", $feedback); try { $stmt->execute(); echo "Feedback submitted successfully!"; } catch(PDOException $e) { echo "Error submitting feedback: " . $e->getMessage(); } } ?> feedback.php <?php $hostName = "localhost"; $dbUser = "root"; $dbPassword = ""; $dbName = "feedBack"; $conn = mysqli_connect($hostName, $dbUser, $dbPassword, $dbName); if (!$conn) { die("Something went wrong;"); } ?> database.php وظيفة صفحة feedback.php تجعل المستخدم يدخل بيانات وتضاف في جدول في قاعد البيانات ولكن عندما يضغط إرسال ذلك لا يعمل2 نقاط
-
انا اتعلم لارافل جديد اريد معرفة كيف انشئ المصادقه بواسطة sanctum مثل تسجيل الدخول و انشاء الحساب وما الي ذالك2 نقاط
-
في كل مرة أسمع فيها عن أهمية ريادة الأعمال و كيف أنها تمكنك من تحصيل مدخول محترم يتبادر إلى ذهني هذا السؤال : كيف أصبح رائد أعمال ؟1 نقطة
-
السلام عليكم اي الفرق بين مكتبه MySQL و مكتبه sqlite3 واي الفرق بين ان اكتب اومر SQL في لغة Python وبين اكتب اومر SQL في صفحت الويب اي افضل او اي الابيستخدم في المشاريع اي كان ويب وتعلم الاله وهكذ1 نقطة
-
نغم تفيد كل ما عليكى هو فهم كيفية إنشاءها ومن ثم عملها بأى لغة برمجة.1 نقطة
-
1 نقطة
-
لكن لم ناخذ لغة php في دورة تطوير واجهة المستخدم فأنا اعمل على html & css & js فهل تفيد هذه الطريقة ؟1 نقطة
-
بالاضافة لتعليقات الأصدقاء ال higher order function هى الfunction التى تأخذ function أخري أو أكثر كمعاملات لها أو ترجع function function greaterThan(n) { return m => m > n; } let greaterThan10 = greaterThan(10); console.log(greaterThan10(11)); // → true ويوجد functions في الجافسكربت هى higher order function جاهزة لحل مشكلات متكررة مثل ال 1 - ()map // جمع 10 على كل عنصر فى المصفوفة const arr = [1, 2, 3, 4, 5]; const output = arr.map((num) => num += 10) console.log(arr); // [1, 2, 3, 4, 5] console.log(output); // [11, 12, 13, 14, 15] 2 - ()filter const users = [ {firstName: 'John', lastName: 'Doe', age: 25}, {firstName: 'Jane', lastName: 'Doe', age: 30}, {firstName: 'Jack', lastName: 'Doe', age: 35}, {firstName: 'Jill', lastName: 'Doe', age: 40}, {firstName: 'Joe', lastName: 'Doe', age: 45}, ] // ايجاد المستخدمين أعمارهم فوق 30 const output = users.filter(({age}) => age > 30) console.log(output); // [{firstName: 'Jack', lastName: 'Doe', age: 35}, {firstName: 'Jill', lastName: 'Doe', age: 40}, {firstName: 'Joe', lastName: 'Doe', age: 45}]1 نقطة
-
سوف اقوم بشرحها لك عن طريق مثال: تخيل أن الدوال هي مثل الأدوات في علبة أدوات البرمجة. لكن في حالة الدوال ذات النظام العالي، يمكنك أن تتعامل مع هذه الأدوات بطريقة أكثر مرونة وقوة. بدلاً من أن تكون مقيدًا بطريقة معينة لاستخدام الأدوات، يمكنك استخدام هذه الأدوات لبناء أدوات أخرى أو حتى تمريرها إلى أدوات أخرى لتفعيل مهام معينة. لنفهم ذلك بمثال بسيط. لنفترض أن لديك دالة تُسمى "ضرب_في_اثنين" تأخذ عددًا وتضربه في 2 وترجع الناتج. في البرمجة التقليدية، ستبدو الدالة بهذا الشكل: def multiply_by_two(number): return number * 2 def apply_operation(number, operation): # هذه هى high oreder function return operation(number) result = apply_operation(5, multiply_by_two) print(result) #الناتج سيكون 10 هنا ايضا تم تمرير الدالة multiply_by_two كمدخل لدالة apply_operation، والتي قامت بتنفيذ الضرب على الرقم 5.1 نقطة
-
مصطلح يطلق على دوال تاخذ دوال أخرى كمعاملات parameters او ترجعها كقيمة // دالة تأخذ دالة أخرى كمعامل function operate(func, x, y) { return func(x, y); } function add(x, y) { return x + y; } const resultAdd = operate(add, 3, 4); // Adds 3 and 4 // دالة ترجع دالة أخرى كقيمة function multiplier(factor) { return function (number) { return number * factor; }; } const double = multiplier(2); const resultDouble = double(5); //return 101 نقطة
-
هل يوجد في المنصة درس عن التوطين او خارجها ؟ احتاج رابط ومصدر فضلا لا امراً لاني باشد الحاجة اليه ؟ وهل التوطين يدخل من مهام مطور واجهة المستخدم ام لا ؟1 نقطة
-
1 نقطة
-
صنعت برنامج بمكتبة pyqt5 و انشأت قاعدة بيانات بمكتبة sqlite3 صنعت حقل ادخال و زر وصنعت اداة للزر وظيفتها انه عند الضغط على الزر الحصول على القيمة من حقل الادخال و اضافتها فى الجدول المشكلة هى عند الضغط على الزر ينطفئ البرنامج ها هو الكود ارجو الحل و الشكر لم ساعدنى #استدعاء المكتبات from PyQt5 import QtCore, QtGui, QtWidgets import sys import sqlite3 #انشاء البرنامج app = QtWidgets.QApplication(sys.argv) #انشاء النافذة w = QtWidgets.QWidget() #حقول الادخال e1 = QtWidgets.QLineEdit(w) e1.move(200,150) e1.resize(400,40) e1.setStyleSheet("background-color: white ;font-size: 20px") #الازرار b1 = QtWidgets.QPushButton("اضافة", w) b1.move(40,40) b1.resize(400,50) b1.setStyleSheet("background-color: yellow ;font-size: 24px") # انشاء قاعدة بيانات db = sqlite3.connect("name.db") c = db.cursor() c.execute("CREATE TABLE names(name TEXT)") #الحصول على القيمة من حقول الادخال def add(): a1 = e1.text() e1.clear() cute("INSERT INTO names(name, age, add, ph) VALUES(?)",(a1)) db.commit() b1.clicked.connect(add) db.close() w.show() app.exec_()1 نقطة
-
الفرق الرئيسى بينهم أن MySQL عبارة عن قاعدة بيانات و SQLite3 عبارة عن مكتبة يتم تضمنها فى ال تطبيق لديك وهذا مقارنة تفصيلية بينهم نوع الخادم: MySQL: يتم تشغيل MySQL كخادم قاعدة بيانات مستقل يستجيب للاتصالات من عملاء متعددين. SQLite3: يتم تضمين SQLite3 كمكتبة داخلية في التطبيق ويتم الوصول إليها مباشرة دون الحاجة إلى خادم قاعدة بيانات منفصل. المتطلبات والتثبيت: MySQL: يتطلب تثبيت وتكوين خادم MySQL منفصل، ويحتاج إلى مساحة وذاكرة كبيرة. SQLite3: لا يتطلب تثبيت منفصل، حيث يمكن استخدام ملف SQLite3 بسهولة داخل التطبيق بدون أي تكوينات معقدة. الاداء: MySQL: يمكن أن تكون قواعد البيانات الكبيرة ومعالجة العمليات المتعددة تحت ضغط متزايد. SQLite3: تكون الأداء أسرع وأبسط بشكل عام، ولكن قد تظهر بعض القيود في الأداء عند التعامل مع قواعد بيانات كبيرة أو العمليات المتعددة. الدعم والمجتمع: MySQL: يتمتع MySQL بدعم كبير ومجتمع نشط، مما يعني وجود العديد من المصادر والموارد المتاحة للمستخدمين. SQLite3: يحظى SQLite3 أيضًا بدعم واسع النطاق، ولكن قد يكون أقل بعض الشيء من MySQL نظرًا لطبيعته الخفيفة والموجهة نحو التطبيقات الصغيرة. الوظائف والقدرات: MySQL: يوفر MySQL مجموعة واسعة من الوظائف والميزات مثل التعقيد العالي والتنمية الجماعية والتحكم في النسخ الاحتياطي. SQLite3: تكون ميزات SQLite3 أقل قليلاً من MySQL، حيث يركز SQLite3 على توفير وظائف أساسية لإدارة قواعد البيانات بشكل بسيط وفعال.1 نقطة
-
1 نقطة
-
مرحبا قمت بالخطأ بالضغط على تحديد الموقع كمقروء ظناً مني ان هذا الخيار خاص بالمحتوى فقط وليس الدروس هل يمكنني التراجع عن هذا الامر ام انه امر غير متاح بالمنصة؟1 نقطة
-
للأسف الأمر غير متاح من خلال إعدادات الحساب، لكن يمكنك تفقد هل هناك إمكانية للتراجع عن ذلك من خلال مركز المساعدة أي من قبلهم، تواصل عبر الرابط التالي: https://support.academy.hsoub.com/conversations1 نقطة
-
السلام عليكم عملت هذا الكود لزيادة عدد المنتجات ما الخطا فيه .؟؟؟؟ $(document).ready(function(){ let $qty__up = $(".qty-up"); let $qty__down = $(".qty-down"); let $input = $(".qty_input"); //click on qty up button $qty__up.click(function(e){ if($input.val() >=1 && $input.val() <=9){ $input.val(function(i,oldval){ return ++oldval; }) } }) $qty__down.click(function(e){ if($input.val()>1 && $input.val()<=10){ $input.val(function(i,oldval){ return --oldval; }) } }) }); <button class="qty-up border bg-light" ><i class="fa fa-angle-up" aria-hidden="true"></i></button> <input type="text" class="qty_input bg-light w-50 text-center" disabled > <button class="qty-down border bg-light"><i class="fa fa-angle-down" aria-hidden="true" ></i></button>1 نقطة
-
1 نقطة
-
يرجي ملاحظه ان الكود المرسل لا يحتوي علي إغلاق تعليمة if بقافلة } يجب ان تضع علامه } بعد هذا السطر mysqli_stmt_close($stmt); وقبل هذا السطر ?>.1 نقطة
-
1 نقطة
-
<?php require_once('database.php'); if ($_SERVER["REQUEST_METHOD"] == "POST") { $fullname = $_POST["FName"]; $email = $_POST["Email"]; $feedback = $_POST["feedback"]; if (empty($fullname) || empty($email) || empty($feedback)) { echo "Please fill in all required fields."; return; } $sql = "INSERT INTO feedback (full_name, email, feedback) VALUES (?, ?, ?)"; $stmt = mysqli_prepare($conn, $sql); if (!$stmt) { die("Something went wrong: " . mysqli_error($conn)); } mysqli_stmt_bind_param($stmt, "sss", $fullname, $email, $feedback); if (mysqli_stmt_execute($stmt)) { echo "<div class='alert alert-success'>Feedback submitted successfully.</div>"; } else { echo "<div class='alert alert-danger'>Error submitting feedback: " . mysqli_stmt_error($stmt) . "</div>"; } mysqli_stmt_close($stmt); ?> لازال لايعمل1 نقطة
-
نعم، إذا أردت استخدام mysqli بدلاً من PDO، فهذه هي الطريقة الصحيحة لتحضير الاستعلام وتنفيذه بشكل آمن لمنع هجمات الحقن الـ SQL. ومع ذلك، يمكن تحسين الكود قليلاً لجعله أكثر وضوحًا وفعالية. إليك النسخة المحسنة: // الاستعلام مع العلامات الاستفهام كعناصر نائبة للقيم $sql = "INSERT INTO feedback (full_name, email, feedback) VALUES (?, ?, ?)"; // تحضير الاستعلام $stmt = mysqli_prepare($conn, $sql); // التحقق من تحضير الاستعلام بشكل صحيح if (!$stmt) { die("Something went wrong: " . mysqli_error($conn)); } // ربط القيم المدخلة بالعناصر النائبة في الاستعلام mysqli_stmt_bind_param($stmt, "sss", $fullname, $email, $feedback); // تنفيذ الاستعلام if (mysqli_stmt_execute($stmt)) { echo "<div class='alert alert-success'>Feedback submitted successfully.</div>"; } else { echo "<div class='alert alert-danger'>Error submitting feedback: " . mysqli_stmt_error($stmt) . "</div>"; } // إغلاق البيان mysqli_stmt_close($stmt); لاحظ أنني استخدمت mysqli_error($conn) لطباعة الخطأ مباشرة إذا فشلت عملية التحضير، وmysqli_stmt_error($stmt) لطباعة الخطأ إذا فشلت عملية التنفيذ هذا يساعدك لتتمكن من تشخيص المشكلات بدقة وفعالية. بالإضافة إلى ذلك، يجب دائما إغلاق البيان بعد الانتهاء منه باستخدام mysqli_stmt_close($stmt) لتضمن أن تطبيقك لا يستهلك موارد أكثر مما يحتاج ويبقى خادمك أو جهازك يعمل بسلاسة وفعالية، مما يساعد على تجنب المشاكل المحتملة المتعلقة بالأداء أو الذاكرة.1 نقطة
-
وإذا أردت استخدام mysqli هل تكون التعديلات هكذا؟ لأن الصفحات الأخرى كتبتها بطريقة mysqli $sql = "INSERT INTO feedback (full_name, email, feedBack) VALUES (?, ?, ?)"; $stmt = mysqli_stmt_init($conn); $prepareStmt = mysqli_stmt_prepare($stmt,$sql); if ($prepareStmt) { mysqli_stmt_bind_param($stmt,"sss",$fullName, $email, $feedback); mysqli_stmt_execute($stmt); echo "<div class='alert alert-success'> successfully.</div>"; }else{ die("Something went wrong"); } }1 نقطة
-
أنت لم تقم بتضمين القيم المراد إدخالها في استعلام SQL بشكل صحيح، هناك أيضًا بعض الأخطاء الأخرى: استخدم اقتباسات للقيم النصية في استعلام SQL. لاحظ أنه يجب عليك استخدام اسماء الاعمدة المراد إدخال البيانات فيها بين قوسين في INSERT INTO. استخدم اسماء المتغيرات بشكل صحيح مع استعلام الإدخال. استخدم اسماء المتغيرات الصحيحة مع bindParam(). <?php require_once('database.php'); if ($_SERVER["REQUEST_METHOD"] == "POST") { $fullname = $_POST["FName"]; $email = $_POST["Email"]; $feedback = $_POST["feedback"]; if (empty($fullname) || empty($email) || empty($feedback)) { echo "Please fill in all required fields."; return; } // تحسين استعلام SQL لتضمين قيم النص داخل اقتباسات $sql = "INSERT INTO feedback (full_name, email, feedback) VALUES (:fullname, :email, :feedback)"; $stmt = $conn->prepare($sql); // ربط القيم المستخدمة مع معلمات الاستعلام باستخدام bindParam() $stmt->bindParam(":fullname", $fullname); $stmt->bindParam(":email", $email); $stmt->bindParam(":feedback", $feedback); try { $stmt->execute(); echo "Feedback submitted successfully!"; } catch(PDOException $e) { echo "Error submitting feedback: " . $e->getMessage(); } } ?> بالطبع من المهم التأكد من أن متغيرات النموذج (مثل "FName" و "Email" و "feedback") تتطابق بالضبط مع الأسماء المستخدمة في نموذج HTML.1 نقطة
-
يوجد بعض الاخطاء: في ملف الاتصال بقاعدة البيانات، يبدو أن هناك بعض التباس بين استخدام mysqli وPDO. كلاهما طريقتين ممتازتين للتفاعل مع قاعدة البيانات، لكن عليك ان تختار واحده فقط من بينهم؛ اختر إما mysqli أو PDO واستخدمها consistent في جميع أنحاء مشروعك. عند كتابة استعلامات SQL، من المهم جدًا تجنب الحقن لكود خبيث في قاعدة بياناتك. تخيل أنك تكتب رسالة سرية وتريد التأكد من أن الشخص الوحيد الذي يمكنه فهمها هو الشخص المقصود. استخدام العلامات الاستفهام (?) أو الأسماء المستعارة (:placeholder) في استعلاماتك يشبه استخدام رموز سرية تضمن أن الرسالة (البيانات) تصل بأمان وبالطريقة التي تريدها. لحماية قاعدة البيانات من اللصوص الرقميين الذين يحاولون "حقن" كود خبيث لسرقة البيانات أو التسبب في الفوضى، من الضروري استخدام طرق الربط مثل bindParam أو bindValue. هذا يشبه وضع قفل إلكتروني متطور على باب منزلك يتطلب مفاتيح رقمية خاصة للدخول. بهذه الطريقة، تضمن أن تطبيقك يتحدث مع قاعدة البيانات بلغة مشفرة وآمنة، مما يحمي معلوماتك ويجعل تجربة المستخدم أكثر أمانًا واستقرارًا. إذا قررت الاستمرار باستخدام PDO، إليك كيفية تحديث الكود: في feedback.php: // تأكد من أن الاستعلام يستخدم الأسماء المستعارة $sql = "INSERT INTO feedback (full_name, email, feedback) VALUES (:fullname, :email, :feedback)"; $stmt = $conn->prepare($sql); // ربط القيم بالأسماء المستعارة باستخدام bindParam $stmt->bindParam(":fullname", $fullname); $stmt->bindParam(":email", $email); $stmt->bindParam(":feedback", $feedback); try { $stmt->execute(); echo "Feedback submitted successfully!"; } catch(PDOException $e) { echo "Error submitting feedback: " . $e->getMessage(); } وفي database.php، إذا كنت تريد استخدام PDO بدلاً من mysqli: $hostName = "localhost"; $dbUser = "root"; $dbPassword = ""; $dbName = "feedBack"; // استخدام PDO للاتصال بقاعدة البيانات try { $conn = new PDO("mysql:host=$hostName;dbname=$dbName", $dbUser, $dbPassword); // تعيين وضع الخطأ PDO ليكون exception $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch(PDOException $e) { die("Something went wrong: " . $e->getMessage()); } بعد فعل هذه التغييرات، يمكنك ان تجرب مره اخري ان تدخل بيانات وستسجل في قاعده البيانات.1 نقطة
-
SQL تعتبر اللغة القياسية أو الرسمية للتعامل مع قواعد البيانات، فهي لغة يتم تطويرها منذ عقود من أجل ذلك الغرض، والمكتبات وبرامج إدارة قواعد البيانات تعتمد عليها. وطالما أننا نتحدث عن قواعد البيانات العلائقية، حاليًا البديل الوحيد هي لغة PRQL والتي ما زالت قيد التطوير وتم بنائها بواسطة لغة Rust حيث يتم تحويل الكود الخاص باللغة إلى لغة SQL في النهاية لذا البحث عن بديل يعني استخدام لغة أو إطار يتم به التعامل مع قواعد البيانات بطريقة مختلفة أي عن كتابة لغة مختلفة عن SQL سواء من أجل تسهيل العملية أو إضافة مزايا أخرى، لكن في النهاية يتم تحويل الكود إلى SQL بواسطة مترجم transpiler. وكمثال Language-Integrated Query (LINQ) هي جزء من لغة C# و.NET Framework ويسمح بالتفاعل مع مصادر البيانات المختلفة باستخدام بنية اللغة السهلة للتعامل مع قواعد البيانات العلاقية بطريقة مشابهة لاستخدام SQL، بالإضافة إلى التفاعل مع مصادر البيانات الأخرى مثل الكولكشنز والمصفوفات. أيضًا SPARQL هي لغة استعلام تستخدم لقواعد البيانات الرسومية وربط البيانات على الويب (RDF)، وتستخدم على نطاق واسع في Semantic Web وLinked Data.1 نقطة
-
السلام عليكم هل إن قرأت الكتب + شاهدت الكورسات + حللت المشاكل على leetcode ثم بنيت مشاريع بمساعدة chatgpt هل سأصل الاحتراف هاكذا ؟1 نقطة
-
أولاً قراءة الكتب في البداية لن تحقق لك الاستفادة المطلوبة، أنت بحاجة إلى المشاهدة والمحاكاة والاستيعاب من خلال شرح عملي حيث تستطيع قراءة الكتب بعد الإنتهاء من مسارك البرمجي وتنفيذ مشاريع. لكن هل تكتفي بما تم شرحه بأي دورة بأي مكان؟ بالطبع لا، عليك التطبيق على جزء بالدورة بالبحث عن تمارين، تطبيقات وتحديات لتوظيف ما تعلمته بها، ثم بعد الإنتهاء من الدورة عليك تنفيذ مشروع كامل آخر غير الذي قمت به بالدورة، وفي حال لم تكن تشعر بأريحية في استيعاب ما قمت به بالمشروع بالدورة عليك إعادته بمفردك مرة أخرى لحين الشعور بأريحية أنك مستوعب لما تقوم به. بعد ذلك تستطيع حل مسائل leetcode، بشكل متدرج، رغم أنه من الأفضل حل مسائل أثناء تعلمك للدورة من خلال موقع أسهل مثل Codewars. بغض النظر عن الأدوات التي تعتمد عليها في بناء مشاريع، يجب أن تكون مستوعب لما يحدث وما سبب قيامك بالأمر بهذا الشكل وليس غيره وما فائدته، وليس نسخ ولصق وبناء مشروع لا يحقق لك إفادة على مستواك البرمجي ومهاراتك، كل تلك الأمور تؤهلك لحل المشاكل بشكل أسهل عند مواجهتها فبدون المعرفة والاستيعاب لن تتمكن من الوصول بعيدًا. عليك البحث عن متطلبات الوظيفة التي تريدها على مواقع مثل LinkedIn وIndeed ثم وضع قائمة بالتقنيات والمهارات المطلوبة ثم تعلمها والوصل إلى مستوى جيد بها وبناء معرض أعمال يثبت ذلك.1 نقطة
-
وعليكم السلام ورحمة الله وبركاته، لوصول إلى مستوى الاحتراف كلمه نسبيه قد تختلف من مكان لأخر ومن مجال لأخر ولكن دعنا نبدلها بكلمه مؤهل لسوق العمل, لتصبح مؤهل لسوق العمل في البرمجة يعتمد على عدة عوامل. الأنشطة التي ذكرتها مثل قراءة الكتب ومشاهدة الدورات التدريبية وحل التمارين على مواقع مثل ليت كود ستساعدك كثيرا في فهم شامل للمفاهيم البرمجية والاساسيات وتطوير مهارة حل المشكلات والتفكير الحسابي وفهم الخوارزميات وهياكل البيانات. بناء مشاريع حقيقية أيضًا مهم لتطبيق ما تعلمته وفهم كيفية عمل الأكواد في الواقع. وإن كنت تواجه أي صعوبة، فمواقع مثل تشات جي بي تي قد تساعد بتقديم بعض الحلول والنصائح. لكن لتصبح مؤهل لسوق العمل بالفعل، يجب أن تستمر بالممارسة والتطبيق العملي الكثير، وتحليل أي أخطاء وتعلم منها. العمل أيضا ضمن فريق قد يساعدك على تحسين قدرتك على التعاون والمتابعة مع شخص لديه خبره اكثر منك للأستشاره قد يفيدك كثيرا. والحصول على خبرة عملية سواء من خلال العمل في مشاريع حقيقية أو تدريبات ميدانية فبالرغم من أهمية ما ذكرته إلا أن الخبرة العملية هي الأفضل للوصول لمرحلة الاحتراف. والحصول على شهادات معتمدة في مجال البرمجة لزيادة فرص العمل. ولا تنسى دائما تحديث مهاراتك بمتابعة التطورات الجديدة لان مجال البرمجة يتطور سريعا. باتباع هذه النصائح والمثابرة، ستصبح بالتأكيد مؤهلا لسوق العمل في مجال البرمجة.1 نقطة
-
صممت صفحه بسيطه بواسطة html , css تعمل جيد جدا في هواتف الاندرويد و الويندوز ولاكن الاهمالمشكله تظهر في متصفحات ios عند فتح الصفحه من ios تظهر بشكل مختلف تماما ولاكان انه تم حذف الاكواد لا اعرف لماذا مع ان الاتنين متصفحات جوجل كروم اقصد اني استخدم جوجل كروم علي ابل و اندرويد ولاكن النتيجه مختلفه علي ابل الصوره ستوضح المشكله الصوره الاولي لنسخة ios النسخه الثانيه للاندرويد كود html <!DOCTYPE html> <html lang="ar"> {{-- // 720 --}} <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Friends</title> <link rel="stylesheet" href="{{ URL::asset('css/bootstrap.css') }}"> <link rel="stylesheet" href="{{ URL::asset('css/main.css') }}"> </head> <body> <div class="fixed-bottom floating-button bg-priamry"> <a href="javascript:void(0);" onclick="window.print();"> <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="w-6 h-6"> <path stroke-linecap="round" stroke-linejoin="round" d="M3 16.5v2.25A2.25 2.25 0 0 0 5.25 21h13.5A2.25 2.25 0 0 0 21 18.75V16.5M16.5 12 12 16.5m0 0L7.5 12m4.5 4.5V3" /> </svg> </a> </div> <div class="container"> <div class="row align-items-center"> <div class="xmarg"></div> <div class="col-lg-5 col-12 my-3"> {!! $qrQode !!} </div> <div class="col-lg-7 col-12 image-container text-center"> <a href="#" class="xog"> <img src="{{ URL::asset('logo_l.png') }}" alt="logo(wasal)"> </a> </div> </div> <div class="container trip-info mt-4"> <div class="allocate"> <span class="taken-no">رقم الحجز</span> <input class="taken-value" type="text" name="taken-value" placeholder="244" value="{{ $data['clientData']['reservationNumber'] }}"> </div> {{-- $data['userData'] --}} <div class="passngers"> <span class="passngers-span">كشف الركاب</span> </div> <div class="datex"> <div class="day"> <span class="taken-no">اليوم</span> <input class="taken-value" type="text" name="taken-value" placeholder="{{ \Carbon\Carbon::now()->locale('ar')->dayName }}"> </div> <div class="xmarg"></div> <div class="date"> <span class="taken-no">التاريخ</span> <input class="taken-value" type="text" name="taken-value" placeholder="{{ now()->format('d/m/Y') }}"> </div> </div> </div> </div> {{-- ===============> {{ $data }} --}} <div class="container m-auto row"> {{-- <div class="col-12 driver-info"> <h3 class="text-center">بيانات السائق</h3> <div class="table-responsive"> <table class="table table-bordered main-table text-center"> <tr> <td>اسم السائق</td> <td>رقم الهوية</td> <td>رقم الجوال</td> <td>نوع السيارة</td> <td>رقم اللوحة</td> </tr> <tr> <td>{{ $data['userData']['driversName'] }}</td> <td>{{ $data['userData']['driversID'] }}</td> <td>{{ $data['userData']['driversCellPhone'] }}</td> <td>{{ $data['userData']['typeOfCar'] }}</td> <td>{{ $data['userData']['carNumber'] }}</td> </tr> </table> </div> </div> --}} <div class="col-12 client-info"> <h3 class="text-center">بيانات السائق</h3> <div class="table-responsive"> <table class="table table-bordered main-table text-center customer-details"> <tr> <td>اسم السائق</td> <td>رقم الهوية</td> <td>رقم الجوال</td> <td>نوع السيارة</td> <td>رقم اللوحة</td> </tr> <tr> <td>{{ $data['userData']['driversName'] }}</td> <td>{{ $data['userData']['driversID'] }}</td> <td>{{ $data['userData']['driversCellPhone'] }}</td> <td>{{ $data['userData']['typeOfCar'] }}</td> <td>{{ $data['userData']['carNumber'] }}</td> </tr> </table> </div> </div> <div class="col-12 client-info"> <h3 class="text-center">بيانات العميل</h3> <div class="table-responsive"> <table class="table table-bordered main-table text-center customer-details"> <tr> <th style="background-color: rgba(192,192,192,255);">اسم العميل</th> <td style="background-color: rgba(192,192,192,255);" colspan="2"> {{ $data['clientData']['customerName'] }}</td> {{-- <td style="background-color: rgba(192,192,192,255);">رقم العميل</td> --}} <td style="background-color: rgba(192,192,192,255);" colspan="3"> {{-- {{ $data['clientData']['customerMobileNumber'] }} --}} </td> </tr> <tr> <td>جهة القدوم</td> {{-- <td>الرحلة</td> --}} <td>جهة الوصول</td> {{-- <td>جهة المغادرة</td> --}} <td>رقم العميل</td> <td colspan="1">الرحلة</td> {{-- <td>رقم رحلة المغادرة</td> --}} <td colspan="1" class="">ملاحظات</td> {{-- <td>ساعة المغادرة</td> --}} </tr> <tr> <td>{{ $data['clientData']['destinationArrival'] }}</td> <td>{{ $data['clientData']['destination'] }}</td> <td>{{ $data['clientData']['customerMobileNumber'] }}</td> <td>{{ $data['clientData']['flight'] }}</td> <td>{{ $data['clientData']['note'] }}</td> </tr> </table> </div> </div> {{-- <div class="col-lg-5 col"> --}} {{-- <div class="client-info"> <h6 class="text-right">بيانات المرافقين</h6> <div class="table-responsive"> <table class="table table-bordered main-table text-center"> <tr> <th style="background-color: rgb(177, 172, 172);">#</th> <td style="background-color: rgba(192,192,192,255);">اسم المرافق</td> <td style="background-color: rgba(192,192,192,255);">الجنسية</td> <td style="background-color: rgba(192,192,192,255);">رقم الجواز / الهويه</td> </tr> @foreach ($data['morafksData'] as $index => $morafk) <tr> <td>{{ $index + 1 }}</td> <td>{{ $morafk['passengerName'] }}</td> <td>{{ $morafk['nationality'] }}</td> <td>{{ $morafk['identity'] }}</td> </tr> @endforeach </table> </div> </div> --}} <div class="col-12 client-info"> <div class="test"> <div class="table-responsive"> <h3 class="text-center" style="margin-right: 160px">بيانات المرافقين</h3> <table class="table table-bordered main-table text-center customer-details"> <tr> <th style="background-color: rgb(177, 172, 172); width: 5%;">#</th> <td style="background-color: rgba(192,192,192,255); width: 32%;">اسم المرافق</td> <td style="background-color: rgba(192,192,192,255); width: 30%;">الجنسية</td> <td style="background-color: rgba(192,192,192,255); width: 30%;">الجواز / الهويه</td> </tr> @foreach ($data['morafksData'] as $index => $morafk) <tr> <td>{{ $index + 1 }}</td> <td style="white-space: nowrap;">{{ $morafk['passengerName'] }}</td> <td>{{ $morafk['nationality'] }}</td> <td>{{ $morafk['identity'] }}</td> </tr> @endforeach </table> </div> </div> </div> {{-- </div> --}} <div class="row"> <div class="col-lg-6"> <div class="text"> <h4>*** ملاحظة هامة ***</h4> <p>في حالة عدم تطابق بيانات الضيف مع الاثبات تكن عرضة للجزاء وهذاء تعهد منا بذلك</p> <p>شاكرين لكم حسن تعاونكم معنا</p> </div> </div> <div class="col-lg-6 text-start logo-footer"> <img src="{{ URL::asset('ll.png') }}" style="width: 250px margin-top: 70px;" class="img-fluid" alt="logo(wasal)"></a> </div> </div> </div> </body> <script> // استدعاء دالة window.print() عند تحميل الصفحة window.onload = function() { window.print(); } if (window.flutter_inappwebview) { // Send a message to the Flutter side window.flutter_inappwebview.callHandler('printPage'); } if (window.flutter_inappwebview) { window.flutter_inappwebview.callHandler('printPage', 'your arguments here').then(function(result) { // You can optionally handle a response back from Flutter here }); } </script> </html> كود css body { direction: rtl; } .upper-part { display: flex; justify-content: space-between; } .logo-barcode { margin-top: 10px; } .logo-barcode a { background-color: white; text-decoration: none; } .logo-barcode img { width: 100px; height: 100px; } .driver-info { /* margin: 20px; */ } .trip-info { display: flex; justify-content: space-between; } .trip-info div span { color: rgb(255, 165, 0); background-color: black; opacity: 0.8; border-radius: 5px; padding: 5px 4px; text-align: center; font-size: 17px; width: 95px; display: inline-block; } .passngers-span { padding: 15px 30px; } .trip-info div input { max-width: 110px; padding: 3px; font-size: 17px; border-radius: 5px; outline: none; margin: 0px 5px; text-align: center; } @media screen and (max-width: 767px) { .passngers { margin-top: 4px; } .passngers-span { padding: 10px; } .taken-value { max-width: 100px; } .allocate, .date { display: flex; flex-direction: column; width: 30%; } .trip-info div span { margin-bottom: 3px; } } Friends (3).pdf dd.pdf1 نقطة
-
ربما يتم تشغيل في ios على نسخة قديمة من متصفح جوجل كروم لا تدعم خواص css الجديدة 1 - تحديث المتصفح فى الios 2 - اضافة الprefix لخواص css الجديدة تتم كالأتى display: flex; تصبح display: -webkit-flex; وهذا لكل الخواص الجديدة لcss وهذ أكواد الcss الخاصة بك بعد التعديل body { direction: rtl; } .upper-part { display: -webkit-box; /* iOS 6-, Safari 3.1-6 */ display: -moz-box; /* Firefox 19- (buggy but mostly works) */ display: -ms-flexbox; /* IE 10 */ display: -webkit-flex; /* Chrome */ display: flex; justify-content: space-between; } .logo-barcode { margin-top: 10px; } .logo-barcode a { background-color: white; text-decoration: none; } .logo-barcode img { width: 100px; height: 100px; } .driver-info { /* margin: 20px; */ } .trip-info { display: -webkit-box; /* iOS 6-, Safari 3.1-6 */ display: -moz-box; /* Firefox 19- (buggy but mostly works) */ display: -ms-flexbox; /* IE 10 */ display: -webkit-flex; /* Chrome */ display: flex; justify-content: space-between; } .trip-info div span { color: rgb(255, 165, 0); background-color: black; opacity: 0.8; border-radius: 5px; padding: 5px 4px; text-align: center; font-size: 17px; width: 95px; display: inline-block; } .passngers-span { padding: 15px 30px; } .trip-info div input { max-width: 110px; padding: 3px; font-size: 17px; border-radius: 5px; outline: none; margin: 0px 5px; text-align: center; } @media screen and (max-width: 767px) { .passngers { margin-top: 4px; } .passngers-span { padding: 10px; } .taken-value { max-width: 100px; } .allocate, .date { display: -webkit-box; /* iOS 6-, Safari 3.1-6 */ display: -moz-box; /* Firefox 19- (buggy but mostly works) */ display: -ms-flexbox; /* IE 10 */ display: -webkit-flex; /* Chrome */ display: flex; flex-direction: column; width: 30%; } .trip-info div span { margin-bottom: 3px; } }1 نقطة
-
ساحاول تبسيط الشرح علي قدر المستطاع اولا حفظ بيانات مستخدمينا واحد من أهم الأشياء التي نحتاجها في تطوير الويب ، وهذا يمكن أن يوضع تحت مظلة "الأمان". هناك طرق مختلفة لتحقيق ذلك ولاكن بطبع ساشرح بتفاصيل علي حزمة sanctum ما هو sanctum ؟ sanctum هو حزمة بسيطة تستخدم لتنفيذ المصادقة لواجهة برمجة التطبيقات API تم تصميمها لتأمين مسارات واجهة برمجة التطبيقات في تطبيقات لارافيل. sanctum حزمة خفيفة لتثبيتها في المشروع، مما يعني أنه سهل التنفيذ وبسيط. تثبيت الحزمه والتعرف عليها عليك تثبيت الحزمه بواسطة الأمر التالي composer require laravel/sanctum ثما عليك تنفيذ الامر التالي لكي تعمل بدون مشاكل php artisan vendor:publish --provider="Laravel\Sanctum\SanctumServiceProvider" اخر شئ في تثبيت الحزمه php artisan migrate مثال علي استخدام Sanctum يجب عليك إنشاء وحدة التحكم بهذه الطريقه php artisan make:controller UserAuthController كيفية انشاء المصادقه مثل , انشاء الحساب, تسجيل الدخول , تسجيل الخروج عليك الاتجاه لهذه المسار routes\api.php ثم خذه هذه الكود نسخ ثما الصقه بداخل هذه الملف use App\Http\Controllers\AuthController; Route::post('register',[UserAuthController::class,'register']); Route::post('login',[UserAuthController::class,'login']); Route::post('logout',[UserAuthController::class,'logout']) ->middleware('auth:sanctum'); هذا الكود يوضح كيفية تعريف مسارات (Routes) في إطار عمل Laravel للتعامل مع عمليات المصادقة (Authentication). يتم استخدام Sanctum، لتأمين بعض العمليات. المسار 'register' يقوم بتنفيذ الدالة 'register' في AuthController عندما يتم إرسال طلب POST إلى 'register'. المسار 'login' يقوم بتنفيذ الدالة 'login' في AuthController عندما يتم إرسال طلب POST إلى 'login'. المسار 'logout' يقوم بتنفيذ الدالة 'logout' في AuthController عندما يتم إرسال طلب POST إلى 'logout'. ويتم تطبيق مرشح (Middleware) بإسم 'auth:sanctum' على هذا المسار، وهذا يعني أنه يجب أن يكون المستخدم مصادقاً (مسجلاً الدخول) باستخدام Sanctum قبل أن يتمكن من تنفيذ عملية 'logout'. إضافة وظيفة انشاء الحساب انتقل إلى app\http\controllers\UserAuthController وأضف هذه الدوال public function register(Request $request){ $registerUserData = $request->validate([ 'name'=>'required|string', 'email'=>'required|string|email|unique:users', 'password'=>'required|min:8' ]); $user = User::create([ 'name' => $registerUserData['name'], 'email' => $registerUserData['email'], 'password' => Hash::make($registerUserData['password']), ]); return response()->json([ 'message' => 'User Created ', ]); } ضع هذه الكود في الملف هذه وظيفة مختصه في انشاء الحساب , نقوم بالتحقق من صحة البيانات الواردة للتأكد من أن جميع البيانات واضحة وتطابق القاعدة، إذا كانت جميعها جيدة، فتقم بإنشاء مستخدم. إضافة وظيفة تسجيل الدخول public function login(Request $request){ $loginUserData = $request->validate([ 'email'=>'required|string|email', 'password'=>'required|min:8' ]); $user = User::where('email',$loginUserData['email'])->first(); if(!$user || !Hash::check($loginUserData['password'],$user->password)){ return response()->json([ 'message' => 'Invalid Credentials' ],401); } $token = $user->createToken($user->name.'-AuthToken')->plainTextToken; return response()->json([ 'access_token' => $token, ]); } نحن نقوم بالتحقق من صحة الطلب والتأكد من وجود مستخدم بهذه المعلومات، ثم نقوم باستدعاء الدالة createToken() لإنشاء رمز مميز (Token) للمستخدم المسجل عن طريق تمرير اسمه أو أي معلومة ترغب فيها. بعد ذلك، نقوم بالوصول إلى خاصية plainTextToken بتسلسل الوصول للحصول على قيمة الرمز كنص عادي. في النهاية، نقوم بإرجاع استجابة JSON تحتوي على الرمز. في النهايه إضافة وظيفة تسجيل الخروج public function logout(){ auth()->user()->tokens()->delete(); return response()->json([ "message"=>"logged out" ]); } الآن نحصل فقط على المستخدم الذي تمت مصادقته ونحذف الرموز الخاصة به1 نقطة
-
دليل بسيط للاختلافات بينSQL و MySQL تعد SQL وMySQL من أكثر أدوات إدارة البيانات شيوعًا في العالم. ولكن بالنسبة للمبتدئين، أو حتى شخص لديه خبرة أكبر، فإن الفرق بين الاثنين يمكن أن يكون مربكا. ساحاول شرح وتحديد ماهية SQL وMySQL، ونتحقق من الاختلافات بينهما ونتعمق في بعض البدائل الاخري المتوفرة. ما هو SQL؟ SQL تعني "Structured Query Language" وتنطق "إس كيو إل" أو "سيكويل". إنها نوع خاص من لغات البرمجة تُستخدم للتواصل مع قواعد البيانات. إذا كنت ترغب في إضافة البيانات، أو استرجاعها، أو تحديثها في قاعدة البيانات، يمكنك استخدام SQL للقيام بذلك. هذا مهم لأن معظم الشركات تخزن بياناتها في قواعد بيانات. هناك العديد من أنواع قواعد البيانات، ومعظمها يدعم استخدام SQL. سنناقش اثنين من هذه الأنواع في هذا المقال (MySQL و SQL Server)، ولكن هناك العديد من الأنواع الأخرى مثل PostgreSQL و IBM Db2 و Amazon Aurora، لذا يُمكن أن يكون تعلم أساسيات SQL مفيدًا بالنسبة لك بغض النظر عن نوع قاعدة البيانات التي تستخدمها أنت أو شركتك. حقائق ممتعة: أصبحت SQL المعيار الرسمي للمعهد الوطني للمعايير الأمريكي (ANSI) في عام 1986، وللمنظمة الدولية للتوحيد (ISO) في عام 1987. على الرغم من وجودها لعقود، إلا أنها ما زالت تستخدم على نطاق واسع ومطلوبة جدًا في الوقت الحالي! ما هو MySQL ؟ MySQL هو نظام إدارة قواعد البيانات العلاقية مفتوح المصدر (RDBMS) يمتلكه Oracle. إنه أداة شديدة الشهرة لعدة أسباب. أولاً، حالته كمفتوح المصدر تعني أنه يمكن استخدامه بالكامل مجانًا. يمكن للمطورين المحترفين حتى الانغماس مباشرةً وتغيير شفرته المصدرية لتلبية احتياجاتهم إذا كانوا يرغبون في ذلك. على الرغم من أن MySQL مجاني للاستخدام، إلا أن Oracle تقدم خدمات دعم ممتازة يمكن شراؤها من خلال ترخيص تجاري. يتمتع MySQL أيضًا بدعم كبير، ويمكن للمستخدمين تشغيل البرنامج على مجموعة متنوعة من المنصات وأنظمة التشغيل بما في ذلك Windows و Linux و UNIX وغيرها. توفر MySQL محركات تخزين متعددة لجداولها مثل MyISAM و InnoDB و Merge و MEMORY (HEAP) و ARCHIVE و CSV و FEDERATED. على سبيل المثال، يقوم محرك CSV بتخزين البيانات في تنسيق ملف CSV. يمكن استخدام ذلك لنقل البيانات إلى تطبيقات بديلة غير SQL مثل برامج جداول البيانات. لكل من هذه المحركات مزاياها وعيوبها الخاصة. قبل إنشاء قاعدة البيانات الخاصة بك، من المهم فهم كل واحدة منها واختيار الأنسب لجداولك لتعظيم أداء قاعدة البيانات. لقد تناولنا فقط سطح ما يمكن أن يقدمه MySQL. ومع ذلك، يجب أن يكون هذا كافيًا لفهم الاختلافات بين SQL و MySQL. يعود اسم MySQL إلى أحد مؤسسيها - مايكل "مونتي" ويدينيوس - الذي أطلق عليها اسم ابنته "ماي". ما هو الفرق بين SQL و MySQL ؟ باختصار، SQL هي لغة الاستعلام عن قواعد البيانات وMySQL هو منتج قاعدة بيانات مفتوح المصدر. يتم استخدام SQL للوصول إلى البيانات وتحديثها والحفاظ عليها في قاعدة البيانات، وMySQL عبارة عن نظام RDBMS يسمح للمستخدمين بالاحتفاظ بالبيانات الموجودة في قاعدة بيانات منظمة. SQL لا تتغير (كثيرًا)، لأنها لغة. يتم تحديث MySQL بشكل متكرر لأنه جزء من البرنامج. بعباراة الشخص العادي، يمكن اعتبار SQL بمثابة صراف بنك ويمكن اعتبار MySQL بمثابة البنك. تحتاج إلى صراف البنك (SQL) للتواصل مع البنك (MySQL) وتحتاج إلى البنك لإدارة الأموال (البيانات). إنهم يعملون جنبًا إلى جنب لكنهم مختلفون تمامًا. يوجد ايضا بعض المصطلحات التي يجب ان تعرفها ؟ قاعدة البيانات قاعدة البيانات هي مجموعة من البيانات المخزنة في جهاز الكمبيوتر وعادة ما يتم تنظيمها بطريقة تجعل الوصول إلى البيانات سهلاً. نظام إدارة قواعد البيانات المرتبطة قاعدة البيانات العلائقية هي نوع من قواعد البيانات التي تسمح لنا بتحديد البيانات والوصول إليها فيما يتعلق بجزء آخر من البيانات في قاعدة البيانات. يقوم بتخزين البيانات في صفوف وأعمدة في سلسلة من الجداول لجعل المعالجة والاستعلام فعالين. مثال بسيط لقاعدة بيانات علائقية: تخيل شركة صغيرة، الشركة X، التي تتلقى الطلبات من العملاء. يقوم بإعداد جدولين في قاعدة البيانات الخاصة به: جدول_معلومات_العملاء (الذي يحتوي على حقول لمعرف_الزبون، والعنوان، ورقم_الهاتف، وما إلى ذلك...) Customer_orders_table (الذي يحتوي على حقول لمعرف_الزبون، والمنتج، والكمية، وما إلى ذلك...) هناك علاقة بين الجدولين (يشتركان في حقل customer_id). وهذا ما يجعل هذه قاعدة بيانات علائقية. في مستودع الشركة X، يقومون بمعالجة الطلبات من خلال مراجعة السجلات الموجودة في جدول طلبات العملاء. ولكن يمكنهم أيضًا استخدام customer_id في جدول الطلبات للحصول على مزيد من المعلومات حول العميل من جدول معلومات العميل. لا تعتبر هذه طريقة أكثر فعالية لتخزين البيانات فحسب، بل تعني أنه إذا كنت بحاجة إلى تحديث معلومات العميل، فيمكنك القيام بذلك في مكان واحد (جدول معلومات العميل)، بدلاً من الاضطرار إلى تحديث جداول متعددة بمعلومات زائدة عن الحاجة. اكاديمية حسوب تناولت هذه المواضيع بطريقه قويه يمكنك زيارة هذه الرابط للتعمق اكثر في موضوعك هنا1 نقطة
-
شكرا لكم جميعا على. هذه المعلومات القيمة انا فعلا ممتن لكن1 نقطة