setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // ---------- DATABASE ---------- $db->exec("CREATE TABLE IF NOT EXISTS admin ( id INTEGER PRIMARY KEY, password TEXT NOT NULL )"); $db->exec("CREATE TABLE IF NOT EXISTS courses ( id INTEGER PRIMARY KEY AUTOINCREMENT, title TEXT, grade INTEGER, price TEXT )"); $db->exec("CREATE TABLE IF NOT EXISTS students ( id INTEGER PRIMARY KEY AUTOINCREMENT, fullname TEXT, phone TEXT, grade INTEGER )"); $db->exec("CREATE TABLE IF NOT EXISTS registrations ( student_id INTEGER, course_id INTEGER )"); // default admin if (!$db->query("SELECT COUNT(*) FROM admin")->fetchColumn()) { $db->prepare("INSERT INTO admin (password) VALUES (?)") ->execute([password_hash('1234', PASSWORD_DEFAULT)]); } function is_admin() { return isset($_SESSION['admin']); } function iran_phone($p) { return preg_match('/^09[0-9]{9}$/', $p); } $page = $_GET['page'] ?? 'student'; // ---------- ADMIN LOGIN ---------- if (isset($_POST['admin_login'])) { $hash = $db->query("SELECT password FROM admin LIMIT 1")->fetchColumn(); if (password_verify($_POST['password'], $hash)) { $_SESSION['admin'] = true; } } // ---------- CHANGE PASSWORD ---------- if (is_admin() && isset($_POST['change_pass'])) { $db->prepare("UPDATE admin SET password=? WHERE id=1") ->execute([password_hash($_POST['newpass'], PASSWORD_DEFAULT)]); } // ---------- ADD COURSE ---------- if (is_admin() && isset($_POST['add_course'])) { $price = trim($_POST['price']) ?: 'قیمت ثبت نشده'; $db->prepare("INSERT INTO courses (title,grade,price) VALUES (?,?,?)") ->execute([$_POST['title'], $_POST['grade'], $price]); } // ---------- STUDENT REGISTER ---------- if (isset($_POST['student_register'])) { if (iran_phone($_POST['phone']) && !empty($_POST['courses'])) { $db->prepare("INSERT INTO students (fullname,phone,grade) VALUES (?,?,?)") ->execute([$_POST['fullname'], $_POST['phone'], $_POST['grade']]); $sid = $db->lastInsertId(); foreach ($_POST['courses'] as $cid) { $db->prepare("INSERT INTO registrations VALUES (?,?)") ->execute([$sid, $cid]); } $msg = "ثبتنام با موفقیت انجام شد"; } else { $msg = "شماره موبایل یا انتخاب درس نامعتبر است"; } } ?>
نام: = $s['fullname'] ?>
پایه: = $s['grade'] ?>
شماره تماس: = $s['phone'] ?>