投票界面包括用户的登陆,所有投票题目的呈现,每个投票信息的具体呈现
用户登录界面的具体代码如下

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="initial-scale=1.0,width=device-width" />
<title>用户登录</title>
<script type="text/javascript" src="js/jquery.min.js"><http://www.aivtp.com/>

<link rel="stylesheet" href="css/add.css" type="text/css" media="screen" />
<link rel="stylesheet" href="utilLib/bootstrap.min.css" type="text/css" media="screen" />
<style type="text/css">
@media screen and (max-width:768px){
    .div_from_aoto{
        padding:6em 0 0 1em;
        width:100%;
        margin:100px auto;

}
}
</style>
</head>
<body>
<div class="div_from_aoto" style="width: 300px;">
    <FORM action="logincheck.php" method="post" enctype="multipart/form-data" name="form1" id="form1">
        <DIV class="control-group">
            <label class="laber_from">用户名</label>
            <DIV  class="controls" ><INPUT class="username" name="username" type=text placeholder=" 请输入用户名"><P class=help-block></P></DIV>
        </DIV>
        <DIV class="control-group">
            <LABEL class="laber_from">密码</LABEL>
            <DIV  class="controls" ><INPUT class="passwd" name="passwd" type=password placeholder=" 请输入密码">
            <P class=help-block></P></DIV>
        </DIV>

<DIV class="control-group">
            <LABEL class="laber_from" ></LABEL>
            <DIV class="controls" ><button class="btn btn-success" style="width:120px;" >登录</button></DIV>
        </DIV>
  </FORM>
</div>
</body>
</html>

这里涉及到一个账号登陆问题,这里包括一个普通用户的登陆进入投票列表界面,还有一个是管理员进入后台管理系统(进入后台管理系统的代码见之后的文章)。账号密码的登陆,首先账号密码要匹配才能登陆,其次是防止通过url直接跳过账号密码的检测进入后台管理系统,解决方法是先对$_SESSION['user']'和$_SESSION['name']初始化为null,再对账号密码进行检测,然后再对管理员身份进行检测。具体代码如下:

<?php
    include("../sqlsafe.php");
    include("../conn.php");
    $_SESSION['user'] = $_SESSION['admin'] = NULL;
    $username = $_POST['username'];
    $passwd = $_POST['passwd'];

$sql = "select * from users where username='$username' and passwd='$passwd';";
    $result = $db->query($sql);
    if($result->num_rows > 0){
        $rank = $db->query("select * from users where username='$username' and admin='1'");
        @session_start();
        if($rank->num_rows > 0){
            $_SESSION['admin']=true;
            $_SESSION['user']=false;
            $_SESSION['name']=$username;
            echo "<meta http-equiv=\"Refresh\" content=\"0;url=../index.php\">";
        }else{
            $_SESSION['user']=true;
            $_SESSION['admin']=false;
            $_SESSION['name']=$username;
            echo "<meta http-equiv=\"Refresh\" content=\"0;url=../list.php\">";
        }

}else{
        echo "<script>alert('账户或密码错误')</script>";
        echo "<meta http-equiv=\"Refresh\" content=\"0;url=login.html\">";
    }

?>

而防止通过url跳过检测的方法是通过session检测是否已经登陆过,若没有,则会跳转到登陆界面

<?php
    @session_start();
    if( !isset($_SESSION['admin']) || !isset($_SESSION['user']) || ( $_SESSION['user']!== true && $_SESSION['admin']!== true ) ){
        echo "<meta http-equiv=\"Refresh\" content=\"0;url=login.html\">";
        exit();
    }

1
    2
    3
    4
    5
    6

其中conn.php的作用是链接数据库,具体代码为

<?php

$db = new mysqli('127.0.0.1','root','lrwje520','simplevote1');
    $db->query("SET NAMES utf8");
    if(mysqli_connect_errno()){
        echo "据库连接失败";
        exit();
    }
?>

投票页面的呈现,这其中的难点就是多个投票标题的呈现,解决方法就是对数据库的提取,即$result_name = $db->query ( "select * from votename" );这是对整个表的提取,接下来是对表中每一行数据的提取这里用$row_name = mysqli_fetch_assoc ( $result_name ),当然 mysqli_fetch_assoc可以改成mysqli_fetch_array,作用是将以一个普通的关联数组的形式返回一条结果记录,用while语句对其进行判断,每次读取一行,直到读取完全部投票题目,就能实现把所有投票题目呈现出来,具体代码如下:

<?php
    include("conn.php");

@session_start();
    header("Cache-control:private");
    if( $_GET['do'] ){
        if($_GET['do']=="logout"){
            unset($_SESSION['user']);
            unset($_SESSION['name']);
            @session_destroy();
        }
    }
    $result = $db->query("select * from sysconfig");
    $row = mysqli_fetch_assoc($result);
    $username = $_SESSION['name'];
    $result1 = $db->query("select * from users where username = '$username'");
    $row1 = mysqli_fetch_assoc($result1);
?>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="initial-scale=2.0,width=device-width" />
<title></title>

<script type="text/javascript" src="admin/js/jquery.min.js"></script>
<link rel="stylesheet" href="main1.css" type="text/css" media="screen" />

</head>
<body>
<div class="main">
    <div id="header" >
        <div >
        <?php if( !isset($_SESSION['user']) || $_SESSION['user']!==true ){ ?>
            <a href="admin/login.html">登录投票</a>
        <?php }else{ ?>
            <span>你好,<?php echo $row1['name']; ?></span>
            <a href="admin/index.php">&nbsp;查看投票数据</a>
            <a href="admin/alter_password.html">&nbsp;修改密码</a>
            <a href="index.php?do=logout">&nbsp;登出</a>
        <?php } ?>
        </div>
    </div>
    <form action="index.php" method="get">
    <div class="content">
        <div>
            <h1><?php echo $row['vote_name']; ?></h1>
            <div class="description">
                <?php echo $row['description']; ?>
            </div>  
        </div>

<?php
            $num = 0;
            $result_name = $db->query ( "select * from votename" );
            while ( $row_name = mysqli_fetch_assoc ( $result_name ) ) {
            $num += 1;
            $a = $row_name['question_name'];
        ?>
        <div class="mcontent">
        <a class="list-link" href="index.php?question_name=<?php echo $a ?>">
        <span  name='question_name' id="question_name">
        <h2><?php echo $num.".".$row_name['question_name']; ?></h2>
        </span>
        </a>
            </div>
            <?php } ?>
            <div style="clear:both;"></div>
        </div>
        <?php if($result_name->num_rows > 0){
        ?>
        <?php }else{ ?>
            <h1>当前没有投票</h1>
        <?php } ?>
        <br>
    </div>
  </form>

</div>
</body>
</html>

这当中if( !isset($_SESSION['user']) || $_SESSION['user']!==true ){ ?>
<a href="admin/login.html">登录投票</a>的作用也是防止通过url跳过检测,当然也是使用了session来判断是否已经登陆,若还未登录则跳转到登陆界面。
当实现了对所有投票题目的呈现后,就要考虑每一个投票的具体呈现,这里涉及到每个投票内容与该投票题目的匹配问题,所以在上述的代码中,我将每一个投票题目设置了<a>标签,并且让其跳转页面的url设置href="index.php?question_name=<?php echo $a ?>"当中的$a就是该投票题目,这样一来在每个投票题目具体的呈现页面中我就可以通过解析该url来获取它的投票题目,进而获取该投票题目的全部内容,具体代码如下:

<?php
    include("conn.php");

@session_start();
    header("Cache-control:private");
    if( $_GET['do'] ){
        if($_GET['do']=="logout"){
            unset($_SESSION['user']);
            unset($_SESSION['name']);
            @session_destroy();
        }
    }
    $result = $db->query("select * from sysconfig");
    $row = mysqli_fetch_assoc($result);
    ?>
<?php
    $url = $_SERVER["QUERY_STRING"];
    $test = parse_url("$url");
    $name = $test[path];
    $start = strrpos($name, '=');
    $unquestion_name = substr($name , $start+1);
    $question_name=urldecode($unquestion_name);
    $username = $_SESSION['name'];
    $result1 = $db->query("select * from users where username = '$username'");
    $row1 = mysqli_fetch_assoc($result1);
?>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="initial-scale=2.0,width=device-width" />
<title></title>

<script type="text/javascript" src="admin/js/jquery.min.js"></script>
<link rel="stylesheet" href="main1.css" type="text/css" media="screen" />

</head>
<body>
<div class="main">
    <div id="header">
        <div >
        <?php if( !isset($_SESSION['user']) || $_SESSION['user']!==true ){ ?>
            <a href="admin/login.html">登录投票</a>
        <?php }else{ ?>
            <span>你好,<?php echo $row1['name']; ?></span>
            <a href="admin/index.php">&nbsp;查看投票数据</a>
            <a href="admin/alter_password.html">&nbsp;修改密码</a>
            <a href="index.php?do=logout">&nbsp;登出</a>
        <?php } ?>
        </div>
    </div>

<form action="vote.php?question_name=<?php echo $question_name ?>" method="post">
    <div class="content">
        <div>
            <h1><?php echo $row['vote_name']; ?></h1>
            <div class="description">
                <?php echo $row['description']; ?>
            </div>
        </div>

<?php
            $result_cid = $db->query ( "select * from votename where question_name = '$question_name'" );
            $row_cid = mysqli_fetch_assoc ( $result_cid ) ;

?>
        <div class="mcontent">
            <h3><?php echo $question_name; ?></h3>
            <?php
                $result_option = $db->query ( "select * from voteoption where upid='" . $row_cid ['cid']. "';" );

while ( $row_option = mysqli_fetch_assoc ( $result_option ) ) {
            ?>
            <div class="obox">
                <?php
                    if($row_cid['votetype']=="0"){
                        echo '<input name="'.$row_cid['cid'].'" type="radio" value="'.$row_option['cid'].'">'.$row_option['optionname'];
                        ?>
                        <br>
                        <?php
                        $result_image = $db->query ( "select * from ccs_image where upid='".$row_option['cid']. "';" );
                        $row= mysqli_fetch_assoc ( $result_image);
                        if($row[filename]){
                            ?>
                            <h2><?php echo "$row[description] "?></h2>
                            <?php   
                            echo "<img src=\"admin/upload/lk/".$row[filename]."\"><br>";
                        }

?>
                    <?php  }else if($row_cid['votetype']=="1"){
                        echo '<input name="'.$row_cid['cid'].'" type="checkbox" value="'.$row_option['cid'].'">'.$row_option['optionname'];
                    }
                ?>

</div>
            <?php } ?>
            <div style="clear:both;"></div>
        </div>
        <?php if($result_cid->num_rows > 0){
        ?>

<div class="votebu">
            <input  type="text" name="code_num" maxlength="4" />
            <img  onClick="this.src='img.php'" src="img.php"  alt="看不清,点击换一张">
            <input  name='question_name' id="question_name" type="submit" value="投票"  >
            <input name="num" type="hidden" value="<?php echo $num; ?>">
            <div ></div>
        </div>
        <?php }else{ ?>
            <h1>当前没有投票,请先登陆</h1>
        <?php } ?>
        <br>
    </div>
  </form>
  </div>
</body>
</html>

上述代码中获取url的方法为
$url = $_SERVER["QUERY_STRING"];//获取完成url
$test = parse_url("$url");//将url转变成数组
$name = $test[path];//提取url中path项,即question_name=$a
$start = strrpos($name, '=');
$unquestion_name = substr($name , $start+1);//获取乱码的question_name
$question_name=urldecode($unquestion_name);//解析乱码的question_name
在选项的呈现中包括一个是单选或者是多选的问题,在数据库中对单选或多选的题目设置了标签,votetype是0则为单选,1为多选所以有个判断语句判断但单选还是多选,而选项的呈现则和所有投票题目呈现的原理一样。
这里还包括对应照片的呈现,我的方式是将照片的信息存储在数据库中,而照片则存储在指定文件夹,通过寻找数据库中对应照片的名字到指定文件夹寻找该照片并呈现出来,输出照片的代码echo "<img src=\"admin/upload/lk/".$row[filename]."\"><br>"。

网络投票系统投票界面代码分享相关推荐

  1. 显示微投票的进度条代码分享

    显示微投票的进度条代码分享,一个投票功能模块少不了查看投票结果,用进度条显示各个投票结果可以起到一目了然的效果.以下是我的方法,请大家不吝赐教: 1:做一张图片用于做进度条,只需要很小的一个图片就可以 ...

  2. 第三方微投票系统进度条代码

    第三方微投票系统进度条代码 一个投票功能模块少不了查看投票结果,用进度条显示各个投票结果可以起到一目了然的效果.以下是我的方法,请大家不吝赐教: 1:做一张图片用于做进度条,只需要很小的一个图片就可以 ...

  3. 第三方微投票系统投票数据展示代码

    第三方微投票系统投票数据展示代码,用一个dataReader对象dr保存取出的各项票数,用一个int 型变量sum保存取出的总票数,各项分别再定义一个double型变量用来保存单项票数除以(/)总票数 ...

  4. php写的微信聊天界面,Android_Android高仿微信聊天界面代码分享,微信聊天现在非常火,是因其 - phpStudy...

    Android高仿微信聊天界面代码分享 微信聊天现在非常火,是因其界面漂亮吗,哈哈,也许吧.微信每条消息都带有一个气泡,非常迷人,看起来感觉实现起来非常难,其实并不难.下面小编给大家分享实现代码. 先 ...

  5. android仿微信聊天功能,Android高仿微信聊天界面代码分享

    微信聊天现在非常火,是因其界面漂亮吗,哈哈,也许吧.微信每条消息都带有一个气泡,非常迷人,看起来感觉实现起来非常难,其实并不难.下面小编给大家分享实现代码. 先给大家展示下实现效果图: OK,下面我们 ...

  6. android 微信高仿,Android高仿微信聊天界面代码分享

    微信聊天现在非常火,是因其界面漂亮吗,哈哈,也许吧.微信每条消息都带有一个气泡,非常迷人,看起来感觉实现起来非常难,其实并不难.下面小编给大家分享实现代码. 先给大家展示下实现效果图: OK,下面我们 ...

  7. c语言选民投票系统,投票系统实现

    @font-face { font-family: "宋体"; }@font-face { font-family: "宋体"; }@font-face { f ...

  8. 教你用html+js制作一个自己的点名系统,实例代码分享

    简介 教你用html+js制作一个自己的点名系统,实例代码如下. 效果 代码 HTML <div class="wrapper"><h1 align=" ...

  9. Php实现投票系统,php实现投票系统的示例代码分析

    投票分类 Title <?php $db= new Mysqli("localhost","root","root","db ...

最新文章

  1. 获取request header的值
  2. python怎么画两幅图_python matplotlib模块: Subplots(在同一个figure里绘制多个图)
  3. boost::remove_copy_if相关的测试程序
  4. 【数据结构】栈-顺序栈、链式栈、共享栈
  5. 计算机科学是对描述和变换,对计算机科学发展的思考
  6. 消息中间件学习总结(13)——Kafka与RocketMQ的单机系统可靠性比较分析
  7. 开发人员必备的 Chrome 扩展
  8. python phpstudy_phpStudy后门分析及复现
  9. 2015 Objective-C 新特性
  10. 研发管理 - 流程篇
  11. 计算机操作系统(第四版)课后习题答案西电版
  12. 别让学历限制你,你可能是AI领域的下一个巨星
  13. C语言键盘各键对应的键值
  14. 数字IC后端真的不如前端设计和验证吗?
  15. 鸿蒙os系统测评,鸿蒙OS 2首批评价出炉,看已升级用户都怎么说的
  16. 国标GB28181视频流媒体平台4G摄像头无插件直播平台EasyGBS出现实时视频点播错误问题解析
  17. Java面试题十篇基本问题,学完这些我就不信拿不到offer
  18. LEA指令与MOV指令区别
  19. R语言稀疏主成分分析、因子分析、KMO检验和Bartlett球度检验分析上市公司财务指标数据...
  20. dotnet core 也能协调分布式事务啦!

热门文章

  1. 网络模型 工程师必备
  2. oracle tfa 自启动,oracle TFA 升级实例讲解
  3. 彩票中包含的数学知识,可以研究研究!
  4. IOS开发之GitHub优秀源码分享/优秀第三方转载
  5. html 搜索框 回车搜索,给搜索框添加回车事件
  6. pytorch groups 分组卷积
  7. 移动端软键盘弹起页面无法滚动问题
  8. 用css3实现打字机效果
  9. cheerio 库学习(一)
  10. 吃了大力丸的Ruby:unfold的实现