Maison > développement back-end > tutoriel php > 请教一个简单的投票页面,post怎么写

请教一个简单的投票页面,post怎么写

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Libérer: 2016-06-23 13:23:37
original
1248 Les gens l'ont consulté

以前写过一个简单的投票功能,作用是php post值 如果和数据库内容一致,则count+1  截图如下

<form method="post" action="check.php"> <input type="text" name="test"> <input type="hidden" name="action" value="send"> <input type="submit" name="Submit" value="提交"> </form> <?php$conn = mysql_connect("127.0.0.1:8889","root","root"); $action = $_POST['action']; if($action == 'send'){ $test = $_POST['test']; mysql_select_db("test3",$conn); $sql = ("update tll set count=count+1 where tl01='$test'");$result = mysql_query($sql,$conn); } ?> 
Copier après la connexion


现在希望把check.php由原来的单个框改成多个进行投票 网上查了下,要用到数组 我把代码改成
<form method="post" action="check.php"> <input type="text" name="test[]"> <br /><input type="text" name="test[]"> <br /><input type="text" name="test[]"> <br /><input type="hidden" name="action" value="send"> <input type="submit" name="Submit" value="提交"> </form> <?php$conn = mysql_connect("127.0.0.1:8889","root","root"); $action = $_POST['action']; if($action == 'send'){ $test = $_POST['test[]']; mysql_select_db("test3",$conn); $sql = ("update tll set count=count+1 where tl01='$test'");$result = mysql_query($sql,$conn); } ?> 
Copier après la connexion
的话就完全行不通了 ,实在不懂,请大神帮忙看下改下代码,十分感谢!

再问下,数据库的格式是“1空格1空格1” 这个格式是固定的
投票页面 如果投票成功,数据库的count的确+1的话echo投票成功,如果不成功(比如格式错了,或者填写错误)echo
投票失败,,这个怎么做呢?90分献上,望指教!


回复讨论(解决方案)

$_POST['test']就能取到这几个了,结果是一个数组

$_POST['test[]']是获取不到值的,你需要获取$_POST['test'],它的值是个数组,比如可能是:
array('111', '222','333')

然后你需要对数组进行遍历,插入到数据库中,你的数据库不能单纯的用等于号来获取:
tl01='$test'"
mysql没有这种语句,mysql处理多个语句需要用in操作:
where tl01 in ('111', '222', '333')

所以,你需要把数组转换成mysql需要的字符串:('111', '222', '333'),才能实现你的功能

$_POST['test[]']是获取不到值的,你需要获取$_POST['test'],它的值是个数组,比如可能是:
array('111', '222','333')

然后你需要对数组进行遍历,插入到数据库中,你的数据库不能单纯的用等于号来获取:
tl01='$test'"
mysql没有这种语句,mysql处理多个语句需要用in操作:
where tl01 in ('111', '222', '333')

所以,你需要把数组转换成mysql需要的字符串:('111', '222', '333'),才能实现你的功能



十分感谢你的回答,书上和网上我实在是找不到类似的案列,能麻烦你帮我写一段完整的实例代码吗 不胜感谢!

$conn = mysql_connect("127.0.0.1:8889","root","root"); $action = $_POST['action']; if($action == 'send'){   $test = join("','", $_POST['test']);   mysql_select_db("test3",$conn);   $sql = ("update tll set count=count+1 where tl01 in ('$test')");  $result = mysql_query($sql,$conn); }
Copier après la connexion
Copier après la connexion
Copier après la connexion

$conn = mysql_connect("127.0.0.1:8889","root","root"); $action = $_POST['action']; if($action == 'send'){   $test = join("','", $_POST['test']);   mysql_select_db("test3",$conn);   $sql = ("update tll set count=count+1 where tl01 in ('$test')");  $result = mysql_query($sql,$conn); }
Copier après la connexion
Copier après la connexion
Copier après la connexion

大神 解决了!十分感谢!请问这知识点是哪本书上学到的?我要再去看看。

再问一下输入框内格式错了,或者填写错误投票没成功echo投票失败,,这个怎么做呢?


$conn = mysql_connect("127.0.0.1:8889","root","root"); $action = $_POST['action']; if($action == 'send'){   $test = join("','", $_POST['test']);   mysql_select_db("test3",$conn);   $sql = ("update tll set count=count+1 where tl01 in ('$test')");  $result = mysql_query($sql,$conn); }
Copier après la connexion
Copier après la connexion
Copier après la connexion
 

大神 解决了!十分感谢!请问这知识点是哪本书上学到的?我要再去看看。

再问一下输入框内格式错了,或者填写错误投票没成功echo投票失败,,这个怎么做呢?

不一定买书,上网多查查资料啊,主要是mysql相关的知识,你要学习mysql语法,就会了
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal