سورس کد آزمون آنلاین در PHP
آزمون آنلاین یکی از راههای موثر برای سنجش دانش و مهارت کاربران است. در اینجا، به بررسی ساختار و نحوهی ایجاد یک سیستم آزمون آنلاین با استفاده از PHP میپردازیم.
۱. طراحی پایگاه داده
ابتدا نیاز به طراحی یک پایگاه داده داریم. این پایگاه داده شامل جداولی مانند `users`، `questions` و `answers` میباشد.
```sql
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) NOT NULL,
password VARCHAR(255) NOT NULL
);
CREATE TABLE questions (
id INT AUTO_INCREMENT PRIMARY KEY,
question_text TEXT NOT NULL,
correct_answer VARCHAR(255) NOT NULL
);
CREATE TABLE answers (
id INT AUTO_INCREMENT PRIMARY KEY,
question_id INT NOT NULL,
answer_text VARCHAR(255) NOT NULL,
FOREIGN KEY (question_id) REFERENCES questions(id)
);
```
۲. پیادهسازی فرم ورود
برای شروع، کاربران باید وارد سیستم شوند. فرم ورود باید شامل فیلدهایی برای نام کاربری و رمز عبور باشد. این اطلاعات پس از ورود، در پایگاه داده بررسی میشوند.
```php
<form method="POST" action="login.php">
<input type="text" name="username" placeholder="نام کاربری" required>
<input type="password" name="password" placeholder="رمز عبور" required>
<input type="submit" value="ورود">
</form>
```
۳. نمایش سوالات
پس از ورود موفق، کاربر به صفحه آزمون منتقل میشود. در این صفحه، سوالات از پایگاه داده خوانده میشوند و به کاربر نمایش داده میشوند.
```php
$query = "SELECT * FROM questions";
$result = mysqli_query($conn, $query);
while ($row = mysqli_fetch_assoc($result)) {
echo "<p>" . $row['question_text'] . "</p>";
// نمایش گزینهها
}
```
۴. ارزیابی پاسخها
پس از اتمام آزمون، کاربر پاسخها را ارسال میکند. این پاسخها باید با پاسخهای صحیح مقایسه شوند تا نمره نهایی محاسبه گردد.
```php
if ($user_answers == $correct_answers) {
echo "شما قبول شدید!";
} else {
echo "متاسفم، شما مردود شدید.";
}
```
۵. امنیت
در نهایت، امنیت سیستم اهمیت بالایی دارد. استفاده از روشهای رمزنگاری برای ذخیره رمز عبور و همچنین جلوگیری از حملات SQL Injection باید در اولویت قرار گیرد.
```php
$password_hash = password_hash($password, PASSWORD_DEFAULT);
```
نتیجهگیری
با ترکیب این مراحل، میتوانید یک سیستم آزمون آنلاین کارآمد و ایمن بسازید. این سیستم نه تنها به کاربران اجازه میدهد که مهارتهای خود را بسنجند، بلکه به شما نیز این امکان را میدهد تا دادههای مرتبط با عملکرد آنها را جمعآوری کنید.