تهامي ادم نشر 7 نوفمبر 2020 أرسل تقرير نشر 7 نوفمبر 2020 انا شغال علي مشروع حوسبة نظام ادارة السكن الداخلي للطلاب بلغة php اي طالب لديه بيانات شخصية ورقم جامعي وكلمة مرور وعند ادخال الرقم الجامعي وكلمة المرور يعرض بيانات الطالب فقط وليس كل بيانات الطلاب اقتباس
0 أسامة كمال النبريص نشر 7 نوفمبر 2020 أرسل تقرير نشر 7 نوفمبر 2020 في حال كانت البيانات محفوظة مسبقا في النظام وتريد تسجيل الدخول الى النظام فيمكنك استخدام الكود التالي لتسجيل الدخول: <?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> 1 اقتباس
السؤال
تهامي ادم
انا شغال علي مشروع حوسبة نظام ادارة السكن الداخلي للطلاب بلغة php اي طالب لديه بيانات شخصية ورقم جامعي وكلمة مرور وعند ادخال الرقم الجامعي وكلمة المرور يعرض بيانات الطالب فقط وليس كل بيانات الطلاب
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.