connect_error) { die("数据库连接失败: " . $conn->connect_error); } // 创建表(如果不存在) function createActivityTable($conn, $activity_id) { $table_name = "activity_" . $activity_id; $sql = "CREATE TABLE IF NOT EXISTS $table_name ( id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, school_name VARCHAR(255) NOT NULL, teacher_name VARCHAR(255) NOT NULL, teacher_email VARCHAR(255) NOT NULL, student1_name VARCHAR(255) NOT NULL, student1_email VARCHAR(255) NOT NULL, student2_name VARCHAR(255) NOT NULL, student2_email VARCHAR(255) NOT NULL, student3_name VARCHAR(255) NOT NULL, student3_email VARCHAR(255) NOT NULL, student4_name VARCHAR(255) NOT NULL, student4_email VARCHAR(255) NOT NULL, student5_name VARCHAR(255) NOT NULL, student5_email VARCHAR(255) NOT NULL, student6_name VARCHAR(255), student6_email VARCHAR(255), student7_name VARCHAR(255), student7_email VARCHAR(255), student8_name VARCHAR(255), student8_email VARCHAR(255), student9_name VARCHAR(255), student9_email VARCHAR(255), student10_name VARCHAR(255), student10_email VARCHAR(255), reg_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP )"; if (!$conn->query($sql)) { die("创建表失败: " . $conn->error); } } // 处理表单提交 if ($_SERVER["REQUEST_METHOD"] == "POST") { session_start(); // 验证验证码 if (empty($_SESSION['captcha']) || strtolower($_POST['captcha']) !== strtolower($_SESSION['captcha'])) { $error = "验证码错误"; } else { // 获取活动ID $activity_id = $_POST['activity_id'] ?? 'default'; // 创建表(如果不存在) createActivityTable($conn, $activity_id); $table_name = "activity_" . $activity_id; // 准备数据 $school_name = $conn->real_escape_string($_POST['school_name']); $teacher_name = $conn->real_escape_string($_POST['teacher_name']); $teacher_email = $conn->real_escape_string($_POST['teacher_email']); // 学生数据 $students = []; for ($i = 1; $i <= 10; $i++) { $name = $conn->real_escape_string($_POST["student{$i}_name"] ?? ''); $email = $conn->real_escape_string($_POST["student{$i}_email"] ?? ''); $students[] = "('$name', '$email')"; } // 构建SQL $sql = "INSERT INTO $table_name ( school_name, teacher_name, teacher_email, student1_name, student1_email, student2_name, student2_email, student3_name, student3_email, student4_name, student4_email, student5_name, student5_email, student6_name, student6_email, student7_name, student7_email, student8_name, student8_email, student9_name, student9_email, student10_name, student10_email ) VALUES ( '$school_name', '$teacher_name', '$teacher_email', {$students[0][0]}, {$students[0][1]}, {$students[1][0]}, {$students[1][1]}, {$students[2][0]}, {$students[2][1]}, {$students[3][0]}, {$students[3][1]}, {$students[4][0]}, {$students[4][1]}, {$students[5][0]}, {$students[5][1]}, {$students[6][0]}, {$students[6][1]}, {$students[7][0]}, {$students[7][1]}, {$students[8][0]}, {$students[8][1]}, {$students[9][0]}, {$students[9][1]} )"; if ($conn->query($sql) === TRUE) { $success = "报名成功!"; } else { $error = "错误: " . $sql . "
" . $conn->error; } } } // 生成验证码 if (isset($_GET['captcha'])) { session_start(); $chars = 'ABCDEFGHJKLMNPQRSTUVWXYZabcdefghjkmnpqrstuvwxyz23456789'; $captcha = ''; for ($i = 0; $i < 4; $i++) { $captcha .= $chars[rand(0, strlen($chars) - 1)]; } $_SESSION['captcha'] = $captcha; // 创建图像 $width = 100; $height = 30; $image = imagecreatetruecolor($width, $height); $bg_color = imagecolorallocate($image, 255, 255, 255); $text_color = imagecolorallocate($image, 0, 0, 0); $noise_color = imagecolorallocate($image, 150, 180, 200); imagefilledrectangle($image, 0, 0, $width, $height, $bg_color); // 添加噪点 for ($i = 0; $i < 100; $i++) { imagesetpixel($image, rand(0, $width), rand(0, $height), $noise_color); } // 添加文本 $font = 5; $x = 10; for ($i = 0; $i < strlen($captcha); $i++) { $y = rand(5, 10); imagestring($image, $font, $x, $y, $captcha[$i], $text_color); $x += 20; } header('Content-type: image/png'); imagepng($image); imagedestroy($image); exit; } ?> 活动报名系统

活动报名表

学生信息(前5组必填)

学生

>
>
验证码 点击图片刷新