写一个网上考试系统的代码
时间: 2023-12-01 13:04:33 浏览: 29
由于网上考试系统的代码比较复杂,需要包括前端、后端、数据库等多个部分,因此我提供一个简单的框架,供参考和学习。
前端部分:
```html
<!DOCTYPE html>
<html>
<head>
<title>网上考试系统</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<div class="container">
<h1>网上考试系统</h1>
<form>
<label>考试编号:</label>
<input type="text" name="exam_id"><br>
<label>用户名:</label>
<input type="text" name="username"><br>
<label>密码:</label>
<input type="password" name="password"><br>
<input type="submit" value="开始考试">
</form>
</div>
</body>
</html>
```
后端部分:
```php
<?php
// 连接数据库
$db_host = "localhost";
$db_user = "root";
$db_password = "password";
$db_name = "exam_db";
$conn = mysqli_connect($db_host, $db_user, $db_password, $db_name);
if (!$conn) {
die("连接失败:" . mysqli_connect_error());
}
// 获取考试信息
if (isset($_GET["exam_id"]) && !empty($_GET["exam_id"])) {
$exam_id = $_GET["exam_id"];
$sql = "SELECT * FROM exams WHERE id=$exam_id";
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) == 1) {
$row = mysqli_fetch_assoc($result);
$exam_name = $row["name"];
$exam_time = $row["time"];
// TODO: 其他考试信息的获取
} else {
die("考试不存在!");
}
} else {
die("请输入考试编号!");
}
// 验证用户名和密码
if (isset($_GET["username"]) && !empty($_GET["username"]) && isset($_GET["password"]) && !empty($_GET["password"])) {
$username = $_GET["username"];
$password = $_GET["password"];
$sql = "SELECT * FROM users WHERE username='$username' AND password='$password'";
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) == 1) {
// TODO: 考试开始
} else {
die("用户名或密码错误!");
}
} else {
die("请输入用户名和密码!");
}
// 关闭数据库连接
mysqli_close($conn);
?>
```
数据库部分:
```sql
CREATE DATABASE exam_db;
USE exam_db;
CREATE TABLE exams (
id INT PRIMARY KEY,
name VARCHAR(50),
time INT,
-- TODO: 其他考试信息的定义
);
CREATE TABLE questions (
id INT PRIMARY KEY,
exam_id INT,
title VARCHAR(100),
option_a VARCHAR(50),
option_b VARCHAR(50),
option_c VARCHAR(50),
option_d VARCHAR(50),
answer VARCHAR(10),
score INT
);
CREATE TABLE users (
id INT PRIMARY KEY,
username VARCHAR(50),
password VARCHAR(50)
);
```
这是一个简单的网上考试系统的代码框架,可根据实际需求进行修改和完善。