есть скрипт регистрации, при заполнении и отправке запроса, данные никуда не уходят а страничка тупо обновляется, кричит непоставил галку на согласен с условиями=(
вот эта согласен или нет
PHP код:
<tr class=text>
<td colspan=2>
<?=$errorMessageAgr;?>
<br><b><? echo $app_voc->words['w_i_agree']?>
<a class=text href="соглашение.html" target=_blank>
<? echo $app_voc->words['w_user_agreement']?>
</a>:
<input type="checkbox" name="agree" value="Off">
</td>
а вот помоему откуда ошибка, вроде как ему чем то ненравится 'off'
PHP код:
if ($_REQUEST['agree'] != 'off') {
$errorMessageAgr = $app_voc->words['w_no_accept_user_agreement'];
$error = true;
}
знатоки подскажите что тут за ерунда=(
1. XopoIII - 02 Ноября, 2007 - 07:10:39 - перейти к сообщению
2. evgenijj - 02 Ноября, 2007 - 09:39:38 - перейти к сообщению
Блин, цирк. Если флажок установлен, на сервер передается переменная $_REQUEST['agree'] = 'Off'. Ты ее сравниваешь со строкой 'off'. Вполне логично, что 'Off' != 'off' поэтому $error=true.
Если флажок не выставлен, переменная $_REQUEST['agree'] не определена. Сравнивать undefined переменную с чем бы то ни было - глупое занятие. Всегда будет false. Т.е. если пользователь не выставил флажок, то по твоей логике, $error=false, т.е. пользователь согласен с соглашением.
Ты изменил логику с точностью до наоборот.
И вообще, так никто не делает. Нет никакой необходимости сравнивать $_REQUEST['agree'] с чем бы то ни было. Если флажок установлен, переменная $_REQUEST['agree'] определена. Если флажок не выставлен -- перменная не определена
Если флажок не выставлен, переменная $_REQUEST['agree'] не определена. Сравнивать undefined переменную с чем бы то ни было - глупое занятие. Всегда будет false. Т.е. если пользователь не выставил флажок, то по твоей логике, $error=false, т.е. пользователь согласен с соглашением.
Ты изменил логику с точностью до наоборот.
И вообще, так никто не делает. Нет никакой необходимости сравнивать $_REQUEST['agree'] с чем бы то ни было. Если флажок установлен, переменная $_REQUEST['agree'] определена. Если флажок не выставлен -- перменная не определена
PHP:
скопировать код в буфер обмена
скопировать код в буфер обмена
- $errorMessageAgr = $app_voc->words['w_no_accept_user_agreement'];
- $error = true;
- }