Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: проблема с регисчтрацией
Форумы портала PHP.SU » PHP » Программирование на PHP » проблема с регисчтрацией

Страниц (1): [1]
 

1. XopoIII - 02 Ноября, 2007 - 07:10:39 - перейти к сообщению
есть скрипт регистрации, при заполнении и отправке запроса, данные никуда не уходят а страничка тупо обновляется, кричит непоставил галку на согласен с условиями=(

вот эта согласен или нет

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;
}


знатоки подскажите что тут за ерунда=(
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'] определена. Если флажок не выставлен -- перменная не определена
PHP:
скопировать код в буфер обмена
  1.  
  2. if ( !isset($_REQUEST['agree']) ) {
  3.   $errorMessageAgr = $app_voc->words['w_no_accept_user_agreement'];
  4.   $error = true;
  5. }
  6.  

 

Powered by ExBB FM 1.0 RC1