温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

PHP怎么实现投票系统

发布时间:2022-04-16 13:37:50 来源:亿速云 阅读:180 作者:iii 栏目:开发技术

本篇内容介绍了“PHP怎么实现投票系统”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

    一、实现代码

    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="" >
        <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="" >
        <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()) >
      <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>

    二、效果图

    PHP怎么实现投票系统

    PHP怎么实现投票系统

    “PHP怎么实现投票系统”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!

    向AI问一下细节

    免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

    php
    AI