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

أسامة كمال النبريص

الأعضاء
  • المساهمات

    184
  • تاريخ الانضمام

  • تاريخ آخر زيارة

  • عدد الأيام التي تصدر بها

    1

كل منشورات العضو أسامة كمال النبريص

  1. إضافاً إلى ما ذكره الأخ وليد فأنصحك بالاعتماد على محرر أكواد واحد لأن كل محرر أكواد لديه إختصاراته الخاصة التي ستسهل عليك البرمجة وتزيد من إنتاجيتك وكفاءتك في العمل وايضا يمكنك تنسيق وترتيب والتحكم بشكل الكود وحجمه والثيمات المستخدمة التي ستريحك في الاستخدام حسب ما يناسبك. فلتقم بتجريب المحررات المذكورة أعلاه ثم استقر على أحدهم وتعلم إختصاراته وجميع خفاياه التي يمكنك البحث عنها بسهولة.
  2. في حال كانت البيانات محفوظة مسبقا في النظام وتريد تسجيل الدخول الى النظام فيمكنك استخدام الكود التالي لتسجيل الدخول: <?php // إبتداء تشغيل session session_start(); // فحص إن كان المستخدم قد سجل دخول مسبقا تحويله الى صفحة معينة if (isset($_SESSION["loggedin"]) && $_SESSION["loggedin"] === true) { header("location: welcome.php"); exit; } // الملف الخاص بالاتصال بقاعدة البيانات require_once "config.php"; // تعريف المتغيرات $student_id = $password = ""; $student_id_err = $password_err = ""; // معالجة البيانات بعد الضغط على زر تسجيل الدخول if ($_SERVER["REQUEST_METHOD"] == "POST") { // فحص إن كان الرقم الجامعي مدخل ام لا if (empty(trim($_POST["student_id"]))) { $student_id_err = "Please enter student_id."; } else { $student_id = trim($_POST["student_id"]); } // فحص إن كانت كلمة السر مدخلة أم لا if (empty(trim($_POST["password"]))) { $password_err = "Please enter your password."; } else { $password = trim($_POST["password"]); } // التحقق من البيانات if (empty($student_id_err) && empty($password_err)) { // الكود الخاص بجلب بيانات الطالب $sql = "SELECT id, student_id, password FROM users WHERE student_id = ?"; if ($stmt = mysqli_prepare($link, $sql)) { // ربط المتغيرات بالبيانات التي تم جلبها من قاعدة البيانات mysqli_stmt_bind_param($stmt, "s", $param_student_id); // تجهيز المتغيرات $param_student_id = $student_id; // محاولة تنفيذ لجلب البيانات if (mysqli_stmt_execute($stmt)) { // تخزين البيانات mysqli_stmt_store_result($stmt); // التحقق من تواجد الرقم الجامعي للطالب وإن وجد التحقق من كلمة السر if (mysqli_stmt_num_rows($stmt) == 1) { // ربط المتغيرات بالنتائج mysqli_stmt_bind_result($stmt, $id, $student_id, $hashed_password); if (mysqli_stmt_fetch($stmt)) { if (password_verify($password, $hashed_password)) { // كلمة المرور صحيحة لذا فتح سيشين جديدة session_start(); // تخزين البيانات بداحل سيشين $_SESSION["loggedin"] = true; $_SESSION["id"] = $id; $_SESSION["student_id"] = $student_id; // التحويل على صفحة مرحبا header("location: welcome.php"); } else { // عرض تواجد مشكلة في كلمة المرور $password_err = "The password you entered was not valid."; } } } else { // عرض وجود مشكلة في عدم تواجد الرقم الجامعي للطالب $student_id_err = "No account found with that student_id."; } } else { echo "Oops! Something went wrong. Please try again later."; } // Close statement mysqli_stmt_close($stmt); } } // إعلاق الاتصال mysqli_close($link); } ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>تسجيل الدخول</title> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.css"> <style type="text/css"> body { font: 14px sans-serif; } .wrapper { width: 350px; padding: 20px; } </style> </head> <body> <div class="wrapper"> <h2>Login</h2> <p>الرجاء إدخال بياناتك لتسجيل الدخول.</p> <form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>" method="post"> <div class="form-group <?php echo (!empty($student_id_err)) ? 'has-error' : ''; ?>"> <label>الرقم الجامعي</label> <input type="text" name="student_id" class="form-control" value="<?php echo $student_id; ?>"> <span class="help-block"><?php echo $student_id_err; ?></span> </div> <div class="form-group <?php echo (!empty($password_err)) ? 'has-error' : ''; ?>"> <label>كلمة المرور</label> <input type="password" name="password" class="form-control"> <span class="help-block"><?php echo $password_err; ?></span> </div> <div class="form-group"> <input type="submit" class="btn btn-primary" value="Login"> </div> <p>Don't have an account? <a href="register.php">Sign up now</a>.</p> </form> </div> </body> </html> ومثال على صفحة مرحبا, ويمكنك توظيف هذه الصفحة بالشكل الذي تريد: <?php // إبتداء سيشين session_start(); // فحص إن كان المستخدم قد سجل دخول مسبقا تحويله الى صفحة معينة if(!isset($_SESSION["loggedin"]) || $_SESSION["loggedin"] !== true){ header("location: login.php"); exit; } ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Welcome</title> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.css"> <style type="text/css"> body{ font: 14px sans-serif; text-align: center; } </style> </head> <body> <div class="page-header"> <!-- هنا يتم إضافة بيانات الطالب كيفما تريد --> <h1>Hi, <b><?php echo htmlspecialchars($_SESSION["username"]); ?></b>. Welcome to our site.</h1> </div> <p> <a href="reset-password.php" class="btn btn-warning">Reset Your Password</a> <a href="logout.php" class="btn btn-danger">Sign Out of Your Account</a> </p> </body> </html>
  3. تطوير الويب هو جزء من البرمجة فكل مطور ويب هو مبرمج ولكن ليس بالضرورة ان يكون كل مبرمج مطور ويب ولكن بسبب أن ما يتطلبه الموقع لتشغيله على الانترنت وما يحتاجه من ادوات من انترنت وإستضافة وقاعدة بيانات وبروتوكولات وأنظمة أمان خاصة وانظمة امان تخص الشبكة يجعل البعض يفصله عن غيره من لغات البرمجة. فالبرمجة أوسع وأشمل من تطوير الويب حيث أن االتركيز الرئيسي لتطوير الويب يقوم على إنشاء محتوى الويب جنبًا إلى جنب مع التصميم المختلف والمميز والتطوير المخصص حسب التصميم. أما البرمجة فتركيزها الرئيسي على عمل النظام بطريقة صحيحة مع أقل أخطاء ممكنة مع تتبع المستخدمين وأفعالهم على البرنامج. ويتم تقسيم تطوير الويب الى جزئين: Front-end و Back-end, حيث أن ال Front-end مختص بما سيشاهده المستخدم أما ال Back-end فهو الجزء الخاص بمطور الويب وهو الجزء الذي يرسل البيانات الى ال Front-end. عند تحديث النظام, في حال البرنامج فيجب عليك تنزيل النسخة الاخيرة من البرنامج لتنزيله, اما في حال موقع الويب فلا يحتاج الى ذلك فبمجرد رفع اخر التعديلات يكون الموقع جاهزا للعمل بدون اي تنزيل او تحديث. أما بخصوص السؤال الآخر فالربط الذي يحصل احيانا بين البرمجة والرياضيات فكرته ان الرياضيات تتطلب الى تحليل المسئلة وفهم مكوناتها للوصول الى حل المشكلة الرياضية فكذلك البرمجة يجب على المبرمج تحليل المشكلة ومعرفة جميع زوايها وتحليلها للوصول الى الحل المطلوب. حيث انه اذا امتلكت المهارات الرياضية فهذا يعني امتلاكك مهارات حل المشاكل وهذا سيساعدك في البرمجة. وكل من algorithm وdata structure، design patterns لا يتطلب معرفة في الرياضيات بوجه الخصوص ولكن هناك بعض الخوارزميات التي تعتمد على بعض القوانين الرياضية لفهمها وتحليلها ومعرفة حلها. design patterns هي طريقة تستخدم ال OOP لحل المشاكل البرمجية المتكررة عن تطوير النظام ويمكن تشبيهها بالمخططات اما data structure هي طريقة لجمع البيانات وتنظيمها بطريقة تمكننا من إجراء عمليات على هذه البيانات بطريقة فعالة.
  4. بإمكانك إستخدام الدالة التالية لحساب عمر الشخص عن طريق إعطاه تاريخ ميلاده:
  5. في حال كان إصدار المشروع قديم فإن التغيرات التي حصلت على لارافيل كثيرة فعند تحديثه فسيكون هنالك الكثير لتعديله وكلما كان الفرق بين إصدار المشروع وأخر إصدار من لارافيل أقل كانت التعديلات أقل, يمكنكِ تحديث نسخة اللارافيل بحسب الطريقة المذكورة للتطوير بين أخر إصدارين في صفحة اللارافيل الرسمية عبر الرابط: https://laravel.com/docs/8.x/upgrade وحيث كما هو مذكور هنا https://laravel.com/docs/8.x/upgrade#updating-dependencies يجب عليكِ الذهاب إلى ملف composer.json وتعديله كما هو مذكور في الرابط الأخير. وبعد ذلك عليكِ تنفيذ الأمر composer update
  6. الشطب الموجود على الدالة او الميثود ready لا تعني انها السبب في عدم عمل الكود, معناها أن هذه الدالة سيتم إزالتها في الإصدارات القادمة من نفس اللغة ويفضل عدم استخدامها وإيجاد بديل لها في حال كنت تطور مشروعا للمستقبل. ولكن عن الإطلاع على الصفحة الرسمية للjQuery نجد أنه لا تزال تستخدم ولا يوجد ذكر عن إزالتها لذا فهي لا تزال تعمل ويمكنك الإطلاع عليها من هنا https://api.jquery.com/ready/#ready-handler ويمكنك ايضا الاطلاع على ما تم إزالته من https://api.jquery.com/category/deprecated/
  7. الخطأ Undefined variable معناه أن المتغير لم يتم تعريفه مسبقا ولا يحتوي على قيمة, لذا يجب عليك تعريفه مسبقا لإستخدامه, في حال كان لديك ملف خاص للاتصال بقاعدة البيانات يجب عليك استدعائه عن طريق الكود التالي: <?php include 'اسم الملف الخاص بالاتصال بقاعدة البيانات'; يتم وضع اسم الملف في حال كان الملف الخاص بالاتصال بقاعدة البيانات في نفس المسار الخاص بالصفحة المستدعاة أما في حال كان الملف داخل مجلد فيتم وضع مساره بناءا على المجلد الرئيسي للمشروع.
×
×
  • أضف...