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

相关文章

通过React实现页面的无限滚动效果

《通过React实现页面的无限滚动效果》今天我们来聊聊无限滚动这个现代Web开发中不可或缺的技术,无论你是刷微博、逛知乎还是看脚本,无限滚动都已经渗透到我们日常的浏览体验中,那么,如何优雅地实现它呢?... 目录1. 早期的解决方案2. 交叉观察者:IntersectionObserver2.1 Inter

C#自动化实现检测并删除PDF文件中的空白页面

《C#自动化实现检测并删除PDF文件中的空白页面》PDF文档在日常工作和生活中扮演着重要的角色,本文将深入探讨如何使用C#编程语言,结合强大的PDF处理库,自动化地检测并删除PDF文件中的空白页面,感... 目录理解PDF空白页的定义与挑战引入Spire.PDF for .NET库核心实现:检测并删除空白页

在Android中使用WebView在线查看PDF文件的方法示例

《在Android中使用WebView在线查看PDF文件的方法示例》在Android应用开发中,有时我们需要在客户端展示PDF文件,以便用户可以阅读或交互,:本文主要介绍在Android中使用We... 目录简介:1. WebView组件介绍2. 在androidManifest.XML中添加Interne

PHP轻松处理千万行数据的方法详解

《PHP轻松处理千万行数据的方法详解》说到处理大数据集,PHP通常不是第一个想到的语言,但如果你曾经需要处理数百万行数据而不让服务器崩溃或内存耗尽,你就会知道PHP用对了工具有多强大,下面小编就... 目录问题的本质php 中的数据流处理:为什么必不可少生成器:内存高效的迭代方式流量控制:避免系统过载一次性

PHP应用中处理限流和API节流的最佳实践

《PHP应用中处理限流和API节流的最佳实践》限流和API节流对于确保Web应用程序的可靠性、安全性和可扩展性至关重要,本文将详细介绍PHP应用中处理限流和API节流的最佳实践,下面就来和小编一起学习... 目录限流的重要性在 php 中实施限流的最佳实践使用集中式存储进行状态管理(如 Redis)采用滑动

修复已被利用的高危漏洞! macOS Sequoia 15.6.1发布

《修复已被利用的高危漏洞!macOSSequoia15.6.1发布》苹果公司于今日发布了macOSSequoia15.6.1更新,这是去年9月推出的macOSSequoia操作... MACOS Sequoia 15.6.1 正式发布!此次更新修复了一个已被黑客利用的严重安全漏洞,并解决了部分中文用户反馈的

使用Python实现一个简易计算器的新手指南

《使用Python实现一个简易计算器的新手指南》计算器是编程入门的经典项目,它涵盖了变量、输入输出、条件判断等核心编程概念,通过这个小项目,可以快速掌握Python的基础语法,并为后续更复杂的项目打下... 目录准备工作基础概念解析分步实现计算器第一步:获取用户输入第二步:实现基本运算第三步:显示计算结果进

Python开发简易网络服务器的示例详解(新手入门)

《Python开发简易网络服务器的示例详解(新手入门)》网络服务器是互联网基础设施的核心组件,它本质上是一个持续运行的程序,负责监听特定端口,本文将使用Python开发一个简单的网络服务器,感兴趣的小... 目录网络服务器基础概念python内置服务器模块1. HTTP服务器模块2. Socket服务器模块

kkFileView在线预览office的常见问题以及解决方案

《kkFileView在线预览office的常见问题以及解决方案》kkFileView在线预览Office常见问题包括base64编码配置、Office组件安装、乱码处理及水印添加,解决方案涉及版本适... 目录kkFileView在线预览office的常见问题1.base642.提示找不到OFFICE组件

Linux下在线安装启动VNC教程

《Linux下在线安装启动VNC教程》本文指导在CentOS7上在线安装VNC,包含安装、配置密码、启动/停止、清理重启步骤及注意事项,强调需安装VNC桌面以避免黑屏,并解决端口冲突和目录权限问题... 目录描述安装VNC安装 VNC 桌面可能遇到的问题总结描js述linux中的VNC就类似于Window