کد آزمون آنلاین در PHP
آزمون آنلاین یکی از روشهای مؤثر برای ارزیابی دانش و مهارتهای کاربران است. در اینجا به بررسی ساختار یک کد ساده برای ایجاد آزمون آنلاین در PHP میپردازیم.
مراحل ساخت آزمون آنلاین
ابتدا باید یک پایگاه داده ایجاد کنید. جدولهای لازم شامل سوالات، پاسخها و نتایج کاربران است. ساختار جدول سوالات میتواند به شکل زیر باشد:
```sql
CREATE TABLE questions (
id INT AUTO_INCREMENT PRIMARY KEY,
question TEXT NOT NULL,
option_a VARCHAR(255) NOT NULL,
option_b VARCHAR(255) NOT NULL,
option_c VARCHAR(255) NOT NULL,
option_d VARCHAR(255) NOT NULL,
correct_answer CHAR(1) NOT NULL
);
```
سپس میتوانید سوالات را به پایگاه داده اضافه کنید. حالا به سراغ کد PHP میرویم.
کد PHP برای نمایش سوالات
در این بخش، از PHP و HTML استفاده خواهیم کرد. کد زیر سوالات را از پایگاه داده میخواند و آنها را نمایش میدهد:
```php
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "quiz_database";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT * FROM questions";
$result = $conn->query($sql);
?>
<form method="POST" action="submit.php">
<?php while($row = $result->fetch_assoc()): ?>
<div>
<p><?php echo $row['question']; ?></p>
<input type="radio" name="question_<?php echo $row['id']; ?>" value="A"> <?php echo $row['option_a']; ?><br>
<input type="radio" name="question_<?php echo $row['id']; ?>" value="B"> <?php echo $row['option_b']; ?><br>
<input type="radio" name="question_<?php echo $row['id']; ?>" value="C"> <?php echo $row['option_c']; ?><br>
<input type="radio" name="question_<?php echo $row['id']; ?>" value="D"> <?php echo $row['option_d']; ?><br>
</div>
<?php endwhile; ?>
<input type="submit" value="Submit">
</form>
<?php
$conn->close();
?>
```
پردازش نتایج
پس از ارسال فرم، باید نتایج را پردازش کنیم. به کد زیر توجه کنید که در فایل `submit.php` قرار میگیرد:
```php
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "quiz_database";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$score = 0;
$sql = "SELECT * FROM questions";
$result = $conn->query($sql);
while($row = $result->fetch_assoc()) {
$question_id = $row['id'];
$user_answer = $_POST["question_$question_id"];
if ($user_answer === $row['correct_answer']) {
$score++;
}
}
echo "Your score is: $score";
$conn->close();
?>
```
نتیجهگیری
ایجاد یک آزمون آنلاین با PHP کار پیچیدهای نیست. با استفاده از کدهای ارائه شده، میتوانید یک سیستم آزمون ساده راهاندازی کنید. با اضافه کردن ویژگیهای بیشتر مانند تایمر، ثبت نام کاربران و تحلیل نتایج، میتوانید این سیستم را بهبود ببخشید.