發布頁面是在使用者登入的狀態下才能進行的所以要先檢測是否處在登入狀態,確定後再允許發布投票
<center><input type="submit" name="send" value="发布"><li>注意:一旦发布将不能修改!</li></center>
<?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>"; } } ?>
$ouser=@$_GET['user']; if($ouser != ''){
$time=time(); $starttime=date("y-m-d",$time);
$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'; }
範例:「選項一*選項二*選項三」
(2)預設的初始投票統計訊息,各項均為0。
範例:「0*0*0」
(3)這個循環語句其實是不必要的,在php中提供了專門的將數組整合和分解為字串的方法(explode和implode),但在完成這部分程式碼時我並不清楚這個方法的應用,顧自己完成了這個功能。
以上就介紹了簡易線上投票系統php——發布投票頁面,包括了方面的內容,希望對PHP教程有興趣的朋友有所幫助。