PHP投票系统
PHP开源社区 人气:0一、实现代码
1.sql
-- phpMyAdmin SQL Dump -- version 4.5.1 -- http://www.phpmyadmin.net -- -- Host: 127.0.0.1 -- Generation Time: 2022-03-28 05:42:05 -- 服务器版本:10.1.13-MariaDB -- PHP Version: 5.6.21 SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; SET time_zone = "+00:00"; /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8mb4 */; -- -- Database: `a` -- -- -------------------------------------------------------- -- -- 表的结构 `voto` -- CREATE TABLE `voto` ( `id` int(10) NOT NULL, `titleid` int(10) DEFAULT NULL, `item` varchar(50) DEFAULT NULL, `count` int(10) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -- 转存表中的数据 `voto` -- INSERT INTO `voto` (`id`, `titleid`, `item`, `count`) VALUES (24, 1, '张学友', 0), (25, 1, '陈奕迅', 0), (26, 1, '林俊杰', 0), (27, 1, '萧敬腾', 0), (29, 1, '', 0), (30, 1, 'aaa', 0); -- -- Indexes for dumped tables -- -- -- Indexes for table `voto` -- ALTER TABLE `voto` ADD PRIMARY KEY (`id`); -- -- 在导出的表使用AUTO_INCREMENT -- -- -- 使用表AUTO_INCREMENT `voto` -- ALTER TABLE `voto` MODIFY `id` int(10) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=31; /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
2.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <a href="admin.php" rel="external nofollow" >增删改查投票的选项</a> <br> <a href="index.php" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >投票给谁呢</a> </body> </html>
3.admin.php(增删改查投票的页面)密码:admi
<?php ob_start(); //打开缓冲区 session_start(); header("Content-type:text/html;charset=utf-8"); $link = mysqli_connect('localhost','root','','a'); mysqli_set_charset($link, "utf8"); if (!$link) { die("连接失败:".mysqli_connect_error()); } ?> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>PHP+mysql开发的简单投票系统</title> <style type="text/css"> /*全局样式*/ body { font-family: "宋体"; font-size: 12pt; color: #333333; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px;background-color: #d4d4d4;} table { font-family: "宋体"; font-size: 9pt; line-height: 20px; color: #333333} /*全局样式结束*/ </style> <script language="javascript"> function selectAll() { node=window.document.frm.itm; for(i=0;i<node.length;i++) { node[i].checked=true;//全选 } } function cancelAll() { node=frm.itm; for(i=0;i<node.length;i++) { node[i].checked=false;//取消全部 } } function del() { node=frm.itm; id=""; for(i=0;i<node.length;i++) { if(node[i].checked) { if(id=="")//删除 { id=node[i].value } else { id=id+","+node[i].value } } } if(id=="") { alert("您没有选择删除项"); } else { location.href="?type=del&id=" rel="external nofollow" +id } } </script> </head> <body> <?php if(isset($_GET['tj']) == 'out'){ session_destroy();//删除当前用户对应的session文件以及释放session echo "<script language=javascript>alert('退出成功!');window.location='index.php'</script>"; } ?> <?php if(isset($_POST['Submit10'])){ if($_POST['pwd']=='admin'){ $_SESSION['pwd']=2; echo "<script language=javascript>alert('登陆成功!');window.location='admin.php'</script>"; }else{ echo "<script language=javascript>alert('登陆失败,请检查您的密码!');window.location='admin.php'</script>"; } } ?> <?php if($_SESSION['pwd']<>2){ ?> <form action="" method="post"> <table width="365" border="0" align="center" cellpadding="5" cellspacing="1" bgcolor="#C2C2C2"> <tr> <td height="30" align="right" bgcolor="#FFFFFF"><label>输入密码:</label></td> <td align="left" bgcolor="#FFFFFF"><input name="pwd" type="text" id="pwd" /></td> </tr> <tr> <td height="30" colspan="2" align="center" bgcolor="#FFFFFF"><label> <input name="Submit10" type="submit" id="Submit10" value="登陆" /> </label> <label> <input type="reset" name="Submit5" value="重置" /> </label></td> </tr> <tr> <td height="30" colspan="2" align="center" bgcolor="#FFFFFF"> 软件版本:<script type="text/javascript" src="http://www.04ie.com/net/phpvoto1_1.js"></script></td> </tr> </table> </form> <?php }else{ ?> <?php if(isset($_POST["Submit"])) { $title=$_POST["title"]; $sql="update vototitle set vototitle='$title'"; mysqli_query($link,$sql); ?> <script language="javascript"> alert("修改成功"); </script> <?php } if(isset($_POST["Submit2"])) { $newitem=$_POST["newitem"]; $sql="insert into voto (titleid,item,count) values (1,'$newitem',1)"; mysqli_query($link,$sql); } ?> <form id="frm" name="frm" method="post" action="" style="margin-bottom:3px;"> <table width="365" border="0" align="center" cellpadding="5" cellspacing="1" bgcolor="#C2C2C2"> <tr> <td colspan="4" bgcolor="#FFFFFF"><label> <?php $sql="select * from vototitle"; $rs=mysqli_query($link,$sql); $rows=mysqli_fetch_assoc($rs); ?> <input name="title" type="text" id="title" size="35" value="<?php echo $rows["vototitle"]?>" /> </label></td> <td width="68" align="center" bgcolor="#FFFFFF"><label> <input type="submit" name="Submit" value="修改标题" /> </label></td> </tr> <tr> <th width="30" bgcolor="#FFFFFF">编号</th> <th width="45" bgcolor="#FFFFFF">项目</th> <th width="52" bgcolor="#FFFFFF">票数</th> <th width="50" align="center" bgcolor="#FFFFFF">修改</th> <th align="center" bgcolor="#FFFFFF">删除</th> </tr> <?php $sql="select * from voto order by count desc"; $rs=mysqli_query($link,$sql); while($rows=mysqli_fetch_assoc($rs)) { ?> <tr> <td align="center" bgcolor="#FFFFFF"><input type="checkbox" name="itm" value="<?php echo $rows["id"]?>" /><?php echo $rows["id"]?></td> <td align="center" bgcolor="#FFFFFF"><?php echo $rows["item"]?></td> <td align="center" bgcolor="#FFFFFF"><?php echo $rows["count"]?></td> <td align="center" bgcolor="#FFFFFF"><input type="button" value="修改" onclick="location.href='?type=modify&id=<?php echo $rows["id"]?>'" /></td> <td align="center" bgcolor="#FFFFFF"><input type="button" value="删除" onclick="location.href='?type=del&id=<?php echo $rows["id"]?>'" /></td> </tr> <?php } ?> <tr> <td colspan="5" align="center" bgcolor="#FFFFFF"> <input type="button" value="选择全部" onclick="selectAll()" /> <input type="button" value="取消全部" onclick="cancelAll()" /> <input type="button" value="删除所选" onclick="del()" /> </td> </tr> <tr> <td colspan="3" bgcolor="#FFFFFF"><label> <input name="newitem" type="text" id="newitem" /> </label></td> <td colspan="2" bgcolor="#FFFFFF"><label> <input type="submit" name="Submit2" value="添加新项" /> </label> <a href="?tj=out" rel="external nofollow" >退出管理</a></td> </tr> </table> </form> <?php $type = isset($_GET["type"])?$_GET["type"]:""; if($type =="modify"){ $id=$_GET["id"]; if(isset($_POST["Submit3"])) { $item=$_POST["itm"]; $count=$_POST["count"]; $sql="update voto set item='$item',count=$count where id=$id"; mysqli_query($link,$sql); echo "<script language=javascript>alert('修改成功!');window.location='admin.php'</script>"; } $sql="select * from voto where id=$id"; $rs=mysqli_query($link,$sql); $rows=mysqli_fetch_assoc($rs); ?> <form id="form1" name="form1" method="post" action="" style="margin-top:2px;"> <table width="365" border="0" align="center" cellpadding="5" cellspacing="1" bgcolor="#C2C2C2"> <tr> <th colspan="2" bgcolor="#FFFFFF">修改投票项目</th> </tr> <tr> <td align="center" bgcolor="#FFFFFF">名称:</td> <td bgcolor="#FFFFFF"><label> <input name="itm" type="text" id="itm" value="<?php echo $rows["item"]?>" /> </label></td> </tr> <tr> <td align="center" bgcolor="#FFFFFF">票数:</td> <td bgcolor="#FFFFFF"><label> <input name="count" type="text" id="count" value="<?php echo $rows["count"]?>" /> </label></td> </tr> <tr> <td colspan="2" align="center" bgcolor="#FFFFFF"><label> <input type="submit" name="Submit3" value="修改" /> <input type="reset" name="Submit" value="重置" /> </label></td> </tr> </table> </form> <?php } ?> <?php $type = isset($_GET["type"])?$_GET["type"]:""; if($type =="del"){ $id=$_GET["id"]; $sql="delete from voto where id in ($id)"; mysqli_query($link,$sql); echo "<script language=javascript>alert('删除成功!');window.location='admin.php'</script>"; } ?> <?php } ?> </body> </html>
4.index.php投票的页面
<?php ob_start(); session_start(); header("Content-type:text/html;charset=utf-8"); $link = mysqli_connect('localhost','root','','a'); mysqli_set_charset($link, "utf8"); if (!$link) { die("连接失败:".mysqli_connect_error()); } ?> <!doctype html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>投票系统</title> <script type="text/javascript" src="//cdn.bootcss.com/jquery/1.12.4/jquery.js"></script> <style type="text/css"> /*全局样式*/ body { font-family: "宋体"; font-size: 12pt; color: #333333; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px;background-color: #A6C7E1;} table { font-family: "宋体"; font-size: 9pt; line-height: 20px; color: #333333} a:link { font-size: 9pt; color: #333333; text-decoration: none} a:visited { font-size: 9pt; color: #333333; text-decoration: none} a:hover { font-size: 9pt; color: #E7005C; text-decoration: underline} a:active { font-size: 9pt; color: #333333; text-decoration: none} /*全局样式结束*/ </style> <script language="javascript"> function check() { node=frm.itm; flag=false; for(i=0;i<node.length;i++) { if(node[i].checked) { flag=true; } } if(!flag) { alert("您没有选择") return false; } return true; } </script> <?php if(isset($_POST["submit"])){ if($_POST){ $id = $_POST["selected_id"]; $sql = "update voto set count = count+1 where id=$id"; mysqli_query($link,$sql); } if($_SESSION["voto"]==session_id()) { ?> <script language="javascript"> alert("您已经投票了"); location.href="index.php" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" ; </script> <?php exit(); } $id=$_POST["itm"]; $sql="update voto set count=count+1 where id=$id"; if(mysqli_query($link,$sql)) { $_SESSION["voto"]=session_id(); ?> <script language="javascript">alert("投票成功,点确定查看结果");location.href="index.php?id=ck" rel="external nofollow" ;</script> <?php } else { ?> <script language="javascript">alert("投票失败");location.href="index.php" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" ;</script> <?php } } ?> </head> <body> <form name="frm" action="" method="post" onsubmit=return(check()) style="margin-bottom:5px;"> <table width="365" border="0" align="center" cellpadding="5" cellspacing="1" bgcolor="#C2C2C2"> <tr> <th bgcolor="#FFFFCC"> <?php $sql="select * from vototitle"; $rs=mysqli_query($link,$sql); $row=mysqli_fetch_assoc($rs); echo $row["vototitle"]; ?> </th> </tr> <?php $sql="select * from voto"; $rs=mysqli_query($link,$sql); while($rows=mysqli_fetch_assoc($rs)) { ?> <tr> <td bgcolor="#FFFFFF"><input type="radio" name="itm" value="<?php echo $rows["id"]?>" /> <?php echo $rows["item"]?></td> </tr> <?php } ?> <tr> <td align="center" bgcolor="#FFFFFF"> <input type="submit" name="submit" value="投票"/> <input type="hidden" id="selected_id" name="selected_id" value=""> <input type="button" value="查看结果" onClick="location.href='index.php?id=ck'"/> <script type="text/javascript"> $("[type='radio']").click(function(){ $("#selected_id").val($(this).val()); }); </script></td> </tr> </table> </form> <?php if(isset($_GET["id"])=="ck"){?> <?php $sql="select sum(count) as 'total' from voto"; $rs=mysqli_query($link,$sql); $rows=mysqli_fetch_assoc($rs); $sum=$rows["total"]; //得出总票数 $sql="select * from voto"; $rs=mysqli_query($link,$sql); ?> <table id="click" width="365" border="0" align="center" cellpadding="5" cellspacing="1" bgcolor="#C2C2C2" > <tr> <th bgcolor="#FFFFFF">项目</th> <th bgcolor="#FFFFFF">票数</th> <th bgcolor="#FFFFFF">百分比</th> </tr> <?php while($rows=mysqli_fetch_assoc($rs)) { ?> <tr> <td bgcolor="#FFFFFF"><?php echo $rows["item"]?></td> <td bgcolor="#FFFFFF"><?php echo $rows["count"]?></td> <td bgcolor="#FFFFFF"> <?php $per=$rows["count"]/$sum; $per=number_format($per,4); ?> <img src="" height="4" width="<?php echo $per*100?>" /> <?php echo $per*100?>% </td> </tr> <?php } ?> </table> <div align="center"> <a href="index.php" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >隐藏结果</a> </div> <?php } ?> </body> </html>
二、效果图
加载全部内容