PHP实战之投票系统的实现

吾爱主题 阅读:169 2022-11-08 15:03:00 评论:0

一、实现代码

1.sql

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 -- 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

?
1 2 3 4 5 6 7 8 9 10 11 12 <!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

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 <?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投票的页面

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 <?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>

二、效果图

到此这篇关于PHP实战之投票系统的实现的文章就介绍到这了,更多相关PHP投票系统内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://mp.weixin.qq.com/s/l8W06LxKIPhvZFtgMCnjfw

可以去百度分享获取分享代码输入这里。
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

【腾讯云】云服务器产品特惠热卖中
搜索
标签列表
    关注我们

    了解等多精彩内容