用 PHP 代码实现一个抽奖系统

涛哥 PHP代码

以下是一个简单的 PHP 抽奖活动示例:
1. 创建一个抽奖页面(例如 lottery.php),在页面中包含一个表单,要求用户输入姓名和手机号码。

<!DOCTYPE html>
<html>
<head>
<title>抽奖活动</title>
</head>
<body>
<h1>抽奖活动</h1>
<form action="lottery.php" method="post">
<label>姓名:</label><input type="text" name="name" required><br>
<label>手机号码:</label><input type="tel" name="phone" required><br>
<input type="submit" value="抽奖">
</form>
</body>
</html>

2. 在 PHP 文件中,使用随机数生成器来随机生成中奖号码,并将中奖信息保存到一个文件中。

<?php
$prize_arr = array(
'1' => array('id'=>1,'prize'=>'一等奖','v'=>1),
'2' => array('id'=>2,'prize'=>'二等奖','v'=>5),
'3' => array('id'=>3,'prize'=>'三等奖','v'=>10),
'4' => array('id'=>4,'prize'=>'参与奖','v'=>84),
);
function get_rand($proArr) {
$result = '';
$proSum = array_sum($proArr);
foreach ($proArr as $key => $proCur) {
$randNum = mt_rand(1, $proSum);
if ($randNum <= $proCur) {
$result = $key;
break;
} else {
$proSum -= $proCur;
}
}
unset($proArr[$result]);
return $result;
}
$name = $_POST['name'];
$phone = $_POST['phone'];
$prize_id = get_rand(array_column($prize_arr, 'v'));
$prize_name = $prize_arr[$prize_id]['prize'];
$prize_info = "$name\t$phone\t$prize_name\n";
file_put_contents('prize.txt', $prize_info, FILE_APPEND);
echo "恭喜您获得 $prize_name!";
?>

3. 创建一个查看中奖名单的页面(例如 prize.php),从保存中奖信息的文件中读取数据并显示出来。

<!DOCTYPE html>
<html>
<head>
<title>中奖名单</title>
</head>
<body>
<h1>中奖名单</h1>
<table>
<tr>
<th>姓名</th>
<th>手机号码</th>
<th>奖品</th>
</tr>
<?php
$prize_list = file_get_contents('prize.txt');
$prize_arr = explode("\n", $prize_list);
foreach ($prize_arr as $prize_item) {
$prize_info = explode("\t", $prize_item);
echo '<tr>';
foreach ($prize_info as $info_item) {
echo "<td>$info_item</td>";
}
echo '</tr>';
}
?>
</table>
</body>
</html>

以上就是一个简单的 PHP 抽奖活动的实现方法。请注意,此示例仅供参考,实际应用中可能需要根据实际需求进行修改和优化。