2013-08-30 5 views
0

У меня есть два php-файла. один rules.php и один register.phpЗначение POST не работает должным образом

rules.php как это:

<div style='background-color:#060; color:#FFF; width:50%; height:20px; font-size:12px; margin:5px 0;'> 
<form method='post' action='register.php' name='form_coding_rules' id='form_coding_rules'> 
    <input type='checkbox' name='rules' id='rules' value='agree'/> 
    I Declare That I Read All The Above Rules & I Agree With Them.<br/><br/> 
    <input type='submit' name='terms' id='terms' value='Proceed'/> 
</form> 
</div> 
</center> 

И register.php выглядит следующим образом:

if(isset($_POST["terms"]) && isset($_POST["rules"]) && $_POST["rules"]=="agree") { 
     //Do Something; 
} 
else 
    header("location: rules.php"); 

Но проблема заключается в том, когда я отправляю с страницы правила, чтобы зарегистрировать страницу, тогда значения не отображаются, а часть if пропускает. После обновления или отправки 2-3 раза, если выполнение инструкции. Но когда я заменяю страницу действий тестовой страницей, которая просто печатает представленные значения, тогда все отлично. Не понял, почему это происходит.

+2

Это: '$ _POST [ "правила"] = "согласные"', это заявление, которое будет Оцените «истину», я верю (я могу думать о JS). вам нужны два знака равенства (или три, если вы хотите также проверить тип переменной). – Jasper

+2

И вы всегда можете сделать var_dump ($ _POST); exit; 'наверху, если вы смущены, почему одно утверждение может быть не таким, как вы думаете. –

+0

можете удалить все, что находится внутри вашего register.php, и добавить print_r ($ _ POST); представить некоторые значения и показать нам результат –

ответ

2

Ваш последний пост в вашем случае утверждение:

$_POST["rules"]="agree" 

Должно быть

$_POST["rules"]=="agree" 
+0

Также после вашего заголовка обязательно поставьте 'exit', так что это будет иначе' {header ("location: rules.php"); Выход; } ' –

+0

Бывший разрешает« истину », правильно? Таким образом, это не остановит выполнение кода оператора if. – Jasper

+0

Это была опечатка. Сожалею. Я сделал это, но все еще не работал. Я смущен, потому что, когда я открываю его напрямую по URL-адресу, тогда он работает. Но когда я собираюсь, щелкнув несколько ссылок, он не работает. Раньше я не сталкивался с такими проблемами. –

Смежные вопросы