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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: проблема с регисчтрацией

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
XopoIII
Отправлено: 02 Ноября, 2007 - 07:10:39
Post Id


Новичок


Покинул форум
Сообщений всего: 6
Дата рег-ции: Окт. 2007  


Помог: 0 раз(а)




есть скрипт регистрации, при заполнении и отправке запроса, данные никуда не уходят а страничка тупо обновляется, кричит непоставил галку на согласен с условиями=(

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

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


знатоки подскажите что тут за ерунда=(
 
 Top
evgenijj
Отправлено: 02 Ноября, 2007 - 09:39:38
Post Id



Участник


Покинул форум
Сообщений всего: 1212
Дата рег-ции: Авг. 2006  
Откуда: Москва


Помог: 10 раз(а)




Блин, цирк. Если флажок установлен, на сервер передается переменная $_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.  
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB