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

2024-04-06 13:48

本文主要是介绍简易在线投票系统(php)——发布投票页面,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

<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),但在完成这部分代码时我并不清楚这个方法的应用,顾自己完成了这个功能。


这篇关于简易在线投票系统(php)——发布投票页面的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/880037

相关文章

定价129元!支持双频 Wi-Fi 5的华为AX1路由器发布

《定价129元!支持双频Wi-Fi5的华为AX1路由器发布》华为上周推出了其最新的入门级Wi-Fi5路由器——华为路由AX1,建议零售价129元,这款路由器配置如何?详细请看下文介... 华为 Wi-Fi 5 路由 AX1 已正式开售,新品支持双频 1200 兆、配有四个千兆网口、提供可视化智能诊断功能,建

python实现简易SSL的项目实践

《python实现简易SSL的项目实践》本文主要介绍了python实现简易SSL的项目实践,包括CA.py、server.py和client.py三个模块,文中通过示例代码介绍的非常详细,对大家的学习... 目录运行环境运行前准备程序实现与流程说明运行截图代码CA.pyclient.pyserver.py参

使用PyQt实现简易文本编辑器

《使用PyQt实现简易文本编辑器》这篇文章主要为大家详细介绍了如何使用PyQt5框架构建一个简单的文本编辑器,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录分析主窗口类 (MyWindow)菜单操作语法高亮 (SyntaxHighlighter)运行程序主要组件代码图示分析实现

5分钟获取deepseek api并搭建简易问答应用

《5分钟获取deepseekapi并搭建简易问答应用》本文主要介绍了5分钟获取deepseekapi并搭建简易问答应用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需... 目录1、获取api2、获取base_url和chat_model3、配置模型参数方法一:终端中临时将加

用Java打造简易计算器的实现步骤

《用Java打造简易计算器的实现步骤》:本文主要介绍如何设计和实现一个简单的Java命令行计算器程序,该程序能够执行基本的数学运算(加、减、乘、除),文中通过代码介绍的非常详细,需要的朋友可以参考... 目录目标:一、项目概述与功能规划二、代码实现步骤三、测试与优化四、总结与收获总结目标:简单计算器,设计

五大特性引领创新! 深度操作系统 deepin 25 Preview预览版发布

《五大特性引领创新!深度操作系统deepin25Preview预览版发布》今日,深度操作系统正式推出deepin25Preview版本,该版本集成了五大核心特性:磐石系统、全新DDE、Tr... 深度操作系统今日发布了 deepin 25 Preview,新版本囊括五大特性:磐石系统、全新 DDE、Tree

Linux Mint Xia 22.1重磅发布: 重要更新一览

《LinuxMintXia22.1重磅发布:重要更新一览》Beta版LinuxMint“Xia”22.1发布,新版本基于Ubuntu24.04,内核版本为Linux6.8,这... linux Mint 22.1「Xia」正式发布啦!这次更新带来了诸多优化和改进,进一步巩固了 Mint 在 Linux 桌面

多模块的springboot项目发布指定模块的脚本方式

《多模块的springboot项目发布指定模块的脚本方式》该文章主要介绍了如何在多模块的SpringBoot项目中发布指定模块的脚本,作者原先的脚本会清理并编译所有模块,导致发布时间过长,通过简化脚本... 目录多模块的springboot项目发布指定模块的脚本1、不计成本地全部发布2、指定模块发布总结多模

使用JavaScript将PDF页面中的标注扁平化的操作指南

《使用JavaScript将PDF页面中的标注扁平化的操作指南》扁平化(flatten)操作可以将标注作为矢量图形包含在PDF页面的内容中,使其不可编辑,DynamsoftDocumentViewer... 目录使用Dynamsoft Document Viewer打开一个PDF文件并启用标注添加功能扁平化

SpringBoot如何访问jsp页面

《SpringBoot如何访问jsp页面》本文介绍了如何在SpringBoot项目中进行Web开发,包括创建项目、配置文件、添加依赖、控制层修改、测试效果以及在IDEA中进行配置的详细步骤... 目录SpringBoot如何访问JSP页python面简介实现步骤1. 首先创建的项目一定要是web项目2. 在