设计一个php网页ex4_4.php,用来进行投票。投票计数记录在php文件所在目录中的一个文件voteresult.txt中,各个选项的投票计数值在一行中,用“|”分隔。
时间: 2024-10-18 18:10:11 浏览: 21
ex4data1.rar_ex4data1.mat_in_mashin learning_matlab
设计一个名为`ex4_4.php`的PHP网页用于投票功能,首先,我们需要创建一个HTML表单让用户选择并提交他们的选择。然后,我们将投票结果存储在一个文本文件中。以下是简化的代码示例:
```html
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<title>投票页面</title>
</head>
<body>
<h1>投票</h1>
<form action="vote.php" method="post">
<label for="option">请选择:</label>
<input type="radio" id="option1" name="choice" value="1">
<label for="option1">选项1</label><br>
<input type="radio" id="option2" name="choice" value="2">
<label for="option2">选项2</label><br>
<!-- 添加更多选项... -->
<button type="submit">投票</button>
</form>
</body>
</html>
```
接下来,在`vote.php`(假设它位于同一目录下)处理表单提交,并更新投票结果文件:
```php
<?php
// 验证请求是否来自同一个文件夹下的表单提交
if ($_SERVER['REQUEST_URI'] == $_SERVER['PHP_SELF']) {
die('禁止直接访问此文件');
}
// 检查voteresult.txt是否存在,如果不存在则创建
if (!file_exists('voteresult.txt')) {
touch('voteresult.txt');
}
// 获取用户的选择
$choice = isset($_POST['choice']) ? $_POST['choice'] : '';
// 打开voteresult.txt文件以追加模式
$file = fopen('voteresult.txt', 'a+');
// 如果选择了某个选项,更新计数
if ($choice) {
$line = trim(fgets($file)); // 读取现有行
if ($line) {
list($current_count, $option) = explode('|', $line);
$new_count = (int)$current_count + 1;
} else {
$new_count = 1; // 文件为空,初始化计数为1
}
$updated_line = $new_count . '|' . $choice . "\n"; // 更新行
fseek($file, 0); // 移动到开头
fwrite($file, $updated_line); // 写入新的行
rewind($file); // 重置指针
echo "感谢您的投票!您的选择已被记录。";
} else {
echo "请选择一个选项再投票!";
}
fclose($file);
//
阅读全文