如何修复'PHP跳过我的if语句'

时间:2019-04-10 16:21:58

标签: javascript php jquery html

我有一个html / php页面,您只能从复选框值中选择2个或以下。我使用javascript限制了选择。但是我担心的是,如果有人尝试使用开发人员工具,他们可以直接禁用我的脚本并从复选框中选择更多值。因此,我认为我需要计算从复选框中获得多少POST数据。

我尝试在php中使用count()来计数帖子,并尝试回显计数,然后我得到了正确的数字。然后,我尝试使用一条if语句,如果所选内容大于2,该语句将回显。它可以工作,但是当我使用header('Location:')时,它将跳过它。

$countpres = count($_POST['pres']);
if($countpres>=3){
   header('Location:../index.php');
}
for($i=0;$i<$countpres;$i++)
{
$sql1 = "UPDATE candidate_list SET vote_count= vote_count + 1 WHERE candidate_number = '". $_POST['pres'][$i]. "' ";
mysqli_query($conn, $sql1);
}   

如果用户尝试发送两个以上的选项,则需要转到index.php。

1 个答案:

答案 0 :(得分:1)

对于php7

header("location: index.php",  true,  301 );  exit;

对于php5

header("Location: index.php");
exit();

如果仍然无法正常工作,并且无法重定向到此用途:

echo '<script>windows.location = "index.php";</script>'; exit();

echo "<script type='text/javascript'>window.top.location='index.php';</script>"; exit();

用文件替换index.php