39528-vm/login.php
2026-04-09 09:46:40 +00:00

59 lines
2.4 KiB
PHP

<?php
declare(strict_types=1);
require_once __DIR__ . '/app.php';
if (is_logged_in()) {
redirect('index.php');
}
$error = null;
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
verify_csrf();
$username = trim((string)($_POST['username'] ?? ''));
$password = (string)($_POST['password'] ?? '');
$error = login_attempt($username, $password);
if ($error === null) {
set_flash('success', 'تم تسجيل الدخول بنجاح.');
redirect('index.php');
}
}
render_header('تسجيل الدخول', 'بوابة الدخول إلى نظام ERP بصلاحيات حسب الدور.', 'auth');
?>
<div class="row justify-content-center">
<div class="col-lg-5 col-xl-4">
<div class="panel-card auth-card">
<div class="section-header compact">
<div>
<span class="eyebrow">Secure Access</span>
<h1 class="section-title mt-2">تسجيل الدخول إلى ERP</h1>
<p class="section-copy">كلمات المرور محفوظة بالتشفير bcrypt، والوصول محكوم حسب الدور.</p>
</div>
</div>
<?php if ($error): ?>
<div class="alert alert-danger py-2"><?= e($error) ?></div>
<?php endif; ?>
<form method="post" class="vstack gap-3">
<input type="hidden" name="csrf_token" value="<?= e(csrf_token()) ?>">
<div>
<label class="form-label">اسم المستخدم</label>
<input type="text" class="form-control" name="username" required autocomplete="username">
</div>
<div>
<label class="form-label">كلمة المرور</label>
<input type="password" class="form-control" name="password" required autocomplete="current-password">
</div>
<button class="btn btn-dark w-100" type="submit">دخول</button>
</form>
<div class="subtle-card mt-4">
<div class="detail-label mb-2">حسابات تجريبية جاهزة</div>
<?php foreach (default_account_credentials() as $cred): ?>
<div class="small mb-1"><strong><?= e($cred['username']) ?></strong> / <?= e($cred['password']) ?> — <?= e(role_label($cred['role'])) ?></div>
<?php endforeach; ?>
<div class="small text-secondary mt-2">للاستخدام الأولي فقط — غيّر كلمات المرور لاحقًا عند إضافة إدارة المستخدمين.</div>
</div>
</div>
</div>
</div>
<?php render_footer(); ?>