欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

PHP开发简单投票系统, 展示与管理!!!!!!!!!!!!!

程序员文章站 2022-03-01 17:14:26
...

管理员功能模块 admin.php

<?php
ob_start(); //打开缓冲区 
session_start();
header("Content-type:text/html;charset=utf-8");

$link = mysqli_connect('localhost','username','password','test');
mysqli_set_charset($link, "utf8");
if (!$link) {
 die("连接失败:".mysqli_connect_error());
}
?>
<!DOCTYPE html>
<html xmlns="https://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="+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="https://www.04ie.com/net/phpvote1_1.js"></script></td>
 </tr>
 </table>
 </form>
<?php }else{ ?>
<?php
if(isset($_POST["Submit"]))
{
$title=$_POST["title"];
$sql="update votetitle set votetitle='$title'";
mysqli_query($link,$sql);
?>
 <script language="javascript">
 alert("修改成功");
 </script>
<?php
}
if(isset($_POST["Submit2"]))
{
 $newitem=$_POST["newitem"];
 $sql="insert into vote (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 votetitle";
 $rs=mysqli_query($link,$sql);
 $rows=mysqli_fetch_assoc($rs);
 ?>
 <input name="title" type="text" id="title" size="35" value="<?php echo $rows["votetitle"]?>" />
 </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 vote 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">退出管理</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 vote 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 vote 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 vote where id in ($id)";
 mysqli_query($link,$sql);
 echo "<script language=javascript>alert('删除成功!');window.location='admin.php'</script>";
 }
 ?>
<?php } ?>
</body>
</html>

完整投票展示功能模块 index.php

<?php
ob_start();
session_start();
header("Content-type:text/html;charset=utf-8");

$link = mysqli_connect('localhost','username','password','test');
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 vote set count = count+1 where id=$id";
 mysqli_query($link,$sql);

 }

 if($_SESSION["vote"]==session_id())
 {
 ?>
 <script language="javascript">
 alert("您已经投票了");
 location.href="index.php";
 </script>
 <?php
 exit();
 }
 $id=$_POST["itm"];
 $sql="update vote set count=count+1 where id=$id";
 if(mysqli_query($link,$sql))
 {
 $_SESSION["vote"]=session_id();
 ?>
 <script language="javascript">alert("投票成功,点确定查看结果");location.href="index.php?id=ck";</script>
 <?php
 }
 else
 {
 ?>
 <script language="javascript">alert("投票失败");location.href="index.php";</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 votetitle";
 $rs=mysqli_query($link,$sql);
 $row=mysqli_fetch_assoc($rs);
 echo $row["votetitle"];
 ?> </th>
 </tr>
 <?php
 $sql="select * from vote";
 $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 vote";
 $rs=mysqli_query($link,$sql);
 $rows=mysqli_fetch_assoc($rs);
 $sum=$rows["total"]; //得出总票数

 $sql="select * from vote";
 $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">隐藏结果</a>
 </div>
<?php } ?>
</body>
</html>

数据库部分

创建数据库 test


<?php
// 创建连接
$conn = new mysqli("localhost", "uesename", "password");
// 检测连接
if ($conn->connect_error) 
{ 
 die("连接失败: " . $conn->connect_error);} 
 // 创建数据库
 $sql = "CREATE DATABASE test";
 if ($conn->query($sql) === TRUE) 
 { 
 echo "数据库创建成功";
 } else { 
 echo "Error creating database: " . $conn->error;
 }
 $conn->close();
?>	

添加 voto 表, 插入字段

<?php
$SQL = " CREATE TABLE IF NOT EXISTS `voto` (
  `id` int(10) NOT NULL auto_increment,
  `titleid` int(10) default NULL,
  `item` varchar(50) default NULL,
  `count` int(10) default NULL,
  PRIMARY KEY  (`id`)
)ENGINE=InnoDB AUTO_INCREMENT=28 DEFAULT CHARSET=utf8;"
?>

插入测试数据

<?php
$SQL = "INSERT INTO vote VALUES ('24', '1', '张学友', '8');"
$SQL = "INSERT INTO vote VALUES ('25', '1', '陈奕迅', '12');"
$SQL = "INSERT INTO vote VALUES ('26', '1', '林俊杰', '12');"
$SQL = "INSERT INTO vote VALUES ('27', '1', '萧敬腾', '23');"
?>

添加 votetitle 表(存放标题), 插入字段

<?php
$SQL = " CREATE TABLE IF NOT EXISTS `votetitle` (
  `titleid` int(10) NOT NULL,
  `votetitle` varchar(50) default NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
?>

添加标题语句

<?php
$SQL = "INSERT INTO votetitle VALUES ('1', '您认为本网站还有那些要做调整?');"
?>