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

bluesjunior 2015-10-29 04:43:27
以前写过一个简单的投票功能,作用是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);
}
?>


现在希望把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);
}
?>
的话就完全行不通了 ,实在不懂,请大神帮忙看下改下代码,十分感谢!

再问下,数据库的格式是“1空格1空格1” 这个格式是固定的
投票页面 如果投票成功,数据库的count的确+1的话echo投票成功,如果不成功(比如格式错了,或者填写错误)echo
投票失败,,这个怎么做呢?90分献上,望指教!
...全文
248 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
夏之冰雪 2015-10-30
  • 打赏
  • 举报
回复
引用 5 楼 bluesjunior 的回复:
[quote=引用 4 楼 xuzuning 的回复:]
$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); 
}
大神 解决了!十分感谢!请问这知识点是哪本书上学到的?我要再去看看。 再问一下输入框内格式错了,或者填写错误投票没成功echo投票失败,,这个怎么做呢?[/quote] 不一定买书,上网多查查资料啊,主要是mysql相关的知识,你要学习mysql语法,就会了
bluesjunior 2015-10-29
  • 打赏
  • 举报
回复
引用 4 楼 xuzuning 的回复:
$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); 
}
大神 解决了!十分感谢!请问这知识点是哪本书上学到的?我要再去看看。 再问一下输入框内格式错了,或者填写错误投票没成功echo投票失败,,这个怎么做呢?
xuzuning 2015-10-29
  • 打赏
  • 举报
回复
$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); 
}
bluesjunior 2015-10-29
  • 打赏
  • 举报
回复
引用 2 楼 hellodifa 的回复:
$_POST['test[]']是获取不到值的,你需要获取$_POST['test'],它的值是个数组,比如可能是: array('111', '222','333') 然后你需要对数组进行遍历,插入到数据库中,你的数据库不能单纯的用等于号来获取: tl01='$test'" mysql没有这种语句,mysql处理多个语句需要用in操作: where tl01 in ('111', '222', '333') 所以,你需要把数组转换成mysql需要的字符串:('111', '222', '333'),才能实现你的功能
十分感谢你的回答,书上和网上我实在是找不到类似的案列,能麻烦你帮我写一段完整的实例代码吗 不胜感谢!
夏之冰雪 2015-10-29
  • 打赏
  • 举报
回复
$_POST['test[]']是获取不到值的,你需要获取$_POST['test'],它的值是个数组,比如可能是: array('111', '222','333') 然后你需要对数组进行遍历,插入到数据库中,你的数据库不能单纯的用等于号来获取: tl01='$test'" mysql没有这种语句,mysql处理多个语句需要用in操作: where tl01 in ('111', '222', '333') 所以,你需要把数组转换成mysql需要的字符串:('111', '222', '333'),才能实现你的功能
我擦10125 2015-10-29
  • 打赏
  • 举报
回复
$_POST['test']就能取到这几个了,结果是一个数组

21,882

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧