D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
home
/
skyconb
/
newsyacine
/
Filename :
add_user.php
back
Copy
<?php // =============================================== // PHP: معالجة إضافة المستخدم // =============================================== session_start(); // الاتصال بقاعدة البيانات (افترض وجود ملف db_connect.php) include 'db_connect.php'; $message = ''; $error = ''; // التحقق من تسجيل الدخول وصلاحية المسؤول $is_admin = ($_SESSION['admin_logged_in'] ?? false) === true && ($_SESSION['admin_role'] ?? 'user') === 'admin'; if (!$is_admin) { // إذا لم يكن مسؤولاً أو لم يسجل الدخول، يتم تحويله $_SESSION['error'] = "ليس لديك الصلاحية للوصول إلى هذه الصفحة."; header("Location: admin.php"); exit(); } if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['add_user'])) { $username = trim($_POST['username']); $email = trim($_POST['email']); $password = $_POST['password']; $role = $_POST['role']; // التحقق من أن الحقول الأساسية ليست فارغة if (empty($username) || empty($password) || empty($role)) { $error = "يجب ملء اسم المستخدم وكلمة المرور والصلاحية."; } elseif (strlen($username) < 3) { $error = "يجب أن يكون اسم المستخدم 3 أحرف على الأقل."; } elseif (strlen($password) < 6) { $error = "يجب أن تكون كلمة المرور 6 أحرف على الأقل."; } else { // 1. التحقق من عدم تكرار اسم المستخدم $check_sql = "SELECT id FROM users WHERE username = ?"; $check_stmt = $conn->prepare($check_sql); $check_stmt->bind_param("s", $username); $check_stmt->execute(); $check_stmt->store_result(); if ($check_stmt->num_rows > 0) { $error = "اسم المستخدم هذا موجود بالفعل. اختر اسماً آخر."; } else { // 2. تشفير كلمة المرور (خطوة أمان ضرورية) $hashed_password = password_hash($password, PASSWORD_DEFAULT); // 3. إدخال المستخدم الجديد في قاعدة البيانات $sql = "INSERT INTO users (username, email, password, role) VALUES (?, ?, ?, ?)"; $stmt = $conn->prepare($sql); if ($stmt) { $stmt->bind_param("ssss", $username, $email, $hashed_password, $role); if ($stmt->execute()) { // تم الإضافة بنجاح، يتم التوجيه مع رسالة نجاح $_SESSION['message'] = "تم إضافة المستخدم ($username) بنجاح!"; header("Location: admin.php?section=users"); exit(); } else { $error = "خطأ في إضافة المستخدم: " . $stmt->error; } $stmt->close(); } else { $error = "خطأ في تجهيز الاستعلام: " . $conn->error; } } $check_stmt->close(); } } ?> <!DOCTYPE html> <html lang="ar" dir="rtl"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>إضافة مستخدم جديد</title> <style> /* CSS بسيط لتنسيق النموذج */ body { font-family: Tahoma, sans-serif; margin: 0; background-color: #f0f2f5; display: flex; justify-content: center; align-items: center; min-height: 100vh; } .form-container { background-color: white; padding: 30px; border-radius: 8px; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1); width: 400px; } h2 { text-align: center; color: #2c3e50; margin-bottom: 25px; } .form-group { margin-bottom: 15px; } .form-group label { display: block; margin-bottom: 5px; font-weight: bold; color: #34495e; } .form-group input[type="text"], .form-group input[type="email"], .form-group input[type="password"], .form-group select { width: 100%; padding: 10px; border: 1px solid #ccc; border-radius: 4px; box-sizing: border-box; font-size: 16px; } .submit-btn { width: 100%; background-color: #9b59b6; color: white; padding: 12px; border: none; border-radius: 4px; cursor: pointer; font-size: 16px; margin-top: 10px; transition: background-color 0.3s; } .submit-btn:hover { background-color: #8e44ad; } .status-message { padding: 10px; margin-bottom: 15px; border-radius: 4px; text-align: center; font-weight: bold; } .error { background-color: #f8d7da; color: #721c24; border: 1px solid #f5c6cb; } .back-link { display: block; text-align: center; margin-top: 20px; color: #3498db; text-decoration: none; } </style> </head> <body> <div class="form-container"> <h2>👤 إضافة مستخدم جديد</h2> <?php if ($error): ?><div class="status-message error"><?php echo $error; ?></div><?php endif; ?> <form method="POST"> <div class="form-group"> <label for="username">اسم المستخدم:</label> <input type="text" id="username" name="username" value="<?php echo htmlspecialchars($_POST['username'] ?? ''); ?>" required minlength="3"> </div> <div class="form-group"> <label for="email">البريد الإلكتروني (اختياري):</label> <input type="email" id="email" name="email" value="<?php echo htmlspecialchars($_POST['email'] ?? ''); ?>"> </div> <div class="form-group"> <label for="password">كلمة المرور:</label> <input type="password" id="password" name="password" required minlength="6"> </div> <div class="form-group"> <label for="role">الصلاحية:</label> <select id="role" name="role" required> <option value="user" <?php echo (($_POST['role'] ?? '') == 'user') ? 'selected' : ''; ?>>مستخدم عادي (user)</option> <option value="admin" <?php echo (($_POST['role'] ?? '') == 'admin') ? 'selected' : ''; ?>>مسؤول (admin)</option> </select> </div> <button type="submit" name="add_user" class="submit-btn">إضافة المستخدم</button> </form> <a href="admin.php?section=users" class="back-link">العودة لإدارة المستخدمين</a> </div> </body> </html> <?php // إغلاق الاتصال بقاعدة البيانات $conn->close(); ?>