简易在线投票系统(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

相关文章

微信公众号脚本-获取热搜自动新建草稿并发布文章

《微信公众号脚本-获取热搜自动新建草稿并发布文章》本来想写一个自动化发布微信公众号的小绿书的脚本,但是微信公众号官网没有小绿书的接口,那就写一个获取热搜微信普通文章的脚本吧,:本文主要介绍微信公众... 目录介绍思路前期准备环境要求获取接口token获取热搜获取热搜数据下载热搜图片给图片加上标题文字上传图片

SpringKafka消息发布之KafkaTemplate与事务支持功能

《SpringKafka消息发布之KafkaTemplate与事务支持功能》通过本文介绍的基本用法、序列化选项、事务支持、错误处理和性能优化技术,开发者可以构建高效可靠的Kafka消息发布系统,事务支... 目录引言一、KafkaTemplate基础二、消息序列化三、事务支持机制四、错误处理与重试五、性能优

新特性抢先看! Ubuntu 25.04 Beta 发布:Linux 6.14 内核

《新特性抢先看!Ubuntu25.04Beta发布:Linux6.14内核》Canonical公司近日发布了Ubuntu25.04Beta版,这一版本被赋予了一个活泼的代号——“Plu... Canonical 昨日(3 月 27 日)放出了 Beta 版 Ubuntu 25.04 系统镜像,代号“Pluc

MySQL使用binlog2sql工具实现在线恢复数据功能

《MySQL使用binlog2sql工具实现在线恢复数据功能》binlog2sql是大众点评开源的一款用于解析MySQLbinlog的工具,根据不同选项,可以得到原始SQL、回滚SQL等,下面我们就来... 目录背景目标步骤准备工作恢复数据结果验证结论背景生产数据库执行 SQL 脚本,一般会经过正规的审批

Android WebView无法加载H5页面的常见问题和解决方法

《AndroidWebView无法加载H5页面的常见问题和解决方法》AndroidWebView是一种视图组件,使得Android应用能够显示网页内容,它基于Chromium,具备现代浏览器的许多功... 目录1. WebView 简介2. 常见问题3. 网络权限设置4. 启用 JavaScript5. D

Nginx实现前端灰度发布

《Nginx实现前端灰度发布》灰度发布是一种重要的策略,它允许我们在不影响所有用户的情况下,逐步推出新功能或更新,通过灰度发布,我们可以测试新版本的稳定性和性能,下面就来介绍一下前端灰度发布的使用,感... 目录前言一、基于权重的流量分配二、基于 Cookie 的分流三、基于请求头的分流四、基于请求参数的分

Python结合Flask框架构建一个简易的远程控制系统

《Python结合Flask框架构建一个简易的远程控制系统》这篇文章主要为大家详细介绍了如何使用Python与Flask框架构建一个简易的远程控制系统,能够远程执行操作命令(如关机、重启、锁屏等),还... 目录1.概述2.功能使用系统命令执行实时屏幕监控3. BUG修复过程1. Authorization

Flutter监听当前页面可见与隐藏状态的代码详解

《Flutter监听当前页面可见与隐藏状态的代码详解》文章介绍了如何在Flutter中使用路由观察者来监听应用进入前台或后台状态以及页面的显示和隐藏,并通过代码示例讲解的非常详细,需要的朋友可以参考下... flutter 可以监听 app 进入前台还是后台状态,也可以监听当http://www.cppcn

MySQL表锁、页面锁和行锁的作用及其优缺点对比分析

《MySQL表锁、页面锁和行锁的作用及其优缺点对比分析》MySQL中的表锁、页面锁和行锁各有特点,适用于不同的场景,表锁锁定整个表,适用于批量操作和MyISAM存储引擎,页面锁锁定数据页,适用于旧版本... 目录1. 表锁(Table Lock)2. 页面锁(Page Lock)3. 行锁(Row Lock

禁止HTML页面滚动的操作方法

《禁止HTML页面滚动的操作方法》:本文主要介绍了三种禁止HTML页面滚动的方法:通过CSS的overflow属性、使用JavaScript的滚动事件监听器以及使用CSS的position:fixed属性,每种方法都有其适用场景和优缺点,详细内容请阅读本文,希望能对你有所帮助... 在前端开发中,禁止htm