简易在线投票系统(php)——发布投票页面

本文详细介绍了在投票系统中实现用户登录检测、时间记录、信息收集与数据库交互的过程,包括选项设置、投票统计信息形成及最终提交的流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

发布页面是在用户登录的状态下才能进行的所以要先检测是否处在登录状态,确定后再允许发布投票

<center><input type="submit" name="send" value="发布"><li>注意:一旦发布将不能修改!</li></center>

用户输入的信息会以post的格式发布到后台。

<?php
//发布
if(@$_POST['send']){
    $ouser=@$_GET['user'];
    if($ouser != ''){
        $vname=@$_POST[voteName];
        $time=time();
        $starttime=date("y-m-d",$time);
        $vintro=@$_POST[voteIntro];
        $open=@$_POST[voteOpen];
        $more=@$_POST[voteSel];
        $max=@$_POST[itemMax];
        $min=@$_POST[itemMin];
        $itemcount=@$_POST[voteCount];
        //为了方便最后完成字符串,让$item先等于$_POST[1],这样在下面的for循环中要少循环一次
        $item=@$_POST[1];
        $num=0;
        if($max>=$min && $vname!=""){
            for($i=1;$i<$itemcount;$i++){
                $j=$i+1;
                $item=$item.'*'.@$_POST[$j];
                $num=$num.'*0';
            }
            $sql3="SELECT uid FROM users WHERE username='$ouser'";
            $getVid=mysql_query($sql3);
            $row=mysql_fetch_row($getVid);
            $uid=$row[0];
            $sql="insert into vote(vname,starttime,uid,vintro,open,more,max,min) value('$vname','$starttime','$uid','$vintro','$open','$more','$max','$min')";
            mysql_query($sql);
            $sql2="SELECT vid FROM vote WHERE vname='$vname'";
            $getVid=mysql_query($sql2);
            $row=mysql_fetch_row($getVid);
            $vid=$row[0];
            $sql4="insert into votetitle(vid,itemcount,item,num) value('$vid','$itemcount','$item','$num')";
            mysql_query($sql4);
            echo "<script language='javascript'> alert('成功提交!'); </script>";
        }
        else{
            echo "<script language='javascript'> alert('选项设置有误!'); </script>";
        }
    }else{
        echo "<script language='javascript'> alert('请先登录!'); </script>";
    }
}
?>

1、检测是否登录

    $ouser=@$_GET['user'];
    if($ouser != ''){
2、获得当前的时间
        $time=time();
        $starttime=date("y-m-d",$time);
3、形成能够保存在数据库中的选项信息和投票统计信息

   $item=@$_POST[1];
        $num=0;
        if($max>=$min && $vname!=""){
            for($i=1;$i<$itemcount;$i++){
                $j=$i+1;
                $item=$item.'*'.@$_POST[$j];
                $num=$num.'*0';
            }
(1)选项信息和投票统计信息都是通过将选项信息用“*”隔开的方式,组成一个字符串

范例:“选项一*选项二*选项三”

(2)默认的初始投票统计信息,各项均为0。

范例:“0*0*0”

(3)这个循环语句其实是不必要的,在php中提供了专门的将数组整合和分解为字符串的方法(explode和implode),但在完成这部分代码时我并不清楚这个方法的应用,顾自己完成了这个功能。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值