失败,请稍后重试!');</script>"; }}else{ echo "<script>alert('您已投过票,不能重复投票!');</script>"; }}else{echo "<script>alert('请选择要投票的选项!');</script>";}}?>4.5、显示投票结果(1)实现查看投票结果的功能在“index.php”文件中添加以下代码,用于在用户点击“查看投票结果”时显示投票结果。require("conn.php");if(isset($_POST['show'])){ $sql="SELECT * FROM `014`"; $result=$dbh->query($sql);$row=$result->fetchALL(PDO::FETCH_ASSOC);echo "<h2>投票结果</h2>";foreach($row as $item){ echo "选项:".$item['svote']." - 投票人数:".$item['count']."<br/>";}echo "<a href='index.php'>返回投票页面</a>";}?> 五、知识点详解 1. PHP中的$_SERVER变量:在PHP中,`$_SERVER`是一个预定义的超全局数组,它包含了关于HTTP请求的服务器环境变量。在本案例中,我们使用`$_SERVER['REMOTE_ADDR']`来获取客户端的IP地址,以此来识别不同的投票者。 2. PDO(PHP Data Objects):PDO是PHP提供的一种数据库访问层,它提供了统一的API来访问多种数据库。在案例中,我们用PDO来连接MySQL数据库,执行查询和插入操作。 3. 数据库设计与操作: - 数据库创建:通过PHP执行SQL语句创建名为“phpDemo”的数据库。 - 表设计:创建一个名为“014”的数据表,包含两个字段:`ip`(保存IP地址,类型为varchar)和`svote`(保存投票选项,类型为char)。 - 插入记录:当用户提交投票时,将IP地址和投票选项插入到“014”表中。 - 查询记录:检查当前IP地址是否已经投票,如果不存在则允许投票,否则提示用户已投过票。 4. PHP表单处理:使用HTML创建投票表单,通过POST方法提交数据到同一页面。PHP接收并处理表单数据,根据用户选择的投票选项和IP地址来决定是否允许投票或显示投票结果。 5. 错误处理:使用try-catch结构捕获PDO连接和查询可能出现的错误,通过die函数显示错误信息并中断程序执行。 6. JavaScript交互:使用JavaScript弹窗显示投票成功或失败的提示,以及返回投票页面的链接。 通过以上步骤,我们可以实现一个简单的基于IP限制的投票系统。这个系统利用了PHP的服务器变量和数据库操作功能,结合HTML表单和JavaScript实现了用户友好的投票界面和投票逻辑。虽然这是一个基础的实现,但在实际应用中,可能还需要考虑更多的因素,例如使用更安全的IP验证方法(如代理检测)、防止SQL注入、增加投票时间限制等。
- 粉丝: 31
- 资源: 301
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助