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 Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
boomboks
Отправлено: 02 Апреля, 2013 - 18:16:49
Post Id


Новичок


Покинул форум
Сообщений всего: 26
Дата рег-ции: Март 2013  


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




Здравствуйте. Подскажите пожалуйста знатоки, как поставить ограничение при невыбранном пункте? Например что то вроде "Я принимаю правила форума" и есть кнопка "Зарегистрироваться".

Получается поставить ограчение на чекбокс, который если не отметить, выдает ошибку типа "Регистрация невозможна из за того, что вы не приняли пользовательское соглашение".

А как установить 3-е ограничение, которые заключается в том, что если даже выбран чекбокс, но не заполнены обязательные поля для регистрации, чтоб снова выдало ошибку "заполните" все поля.

Если не выбрать все поля и не выбрать согласие с правилами, то выдает ошибку "Заполните все поля", а если подтвердить согласие с правилами, но не заполнить обязательное поле, то все равно пускает на след. страницу - как исправить? Вот код


PHP:
скопировать код в буфер обмена
  1. <?
  2. if(isset($_POST['agree'])){
  3. header("Location: register.php");
  4. }
  5. else{
  6. echo "Вы не согласны с правилами";
  7. }
  8. if(empty($_POST['login'])){
  9. echo "Заполните все поля";
  10. }

?>

CODE (html):
скопировать код в буфер обмена
  1. <form action='test.php' method='post'>
  2. Я согласен с <a href=''>правилами</a>: <input type='checkbox' name='agree'>
  3. <pre>
  4. Login: <input type='text' name='login'>
  5. Passw: <input type='text' name='pass'>
  6. <input type='submit' value='Зарегистрироваться'><br>
  7. </pre>

(Добавление)
Подозреваю, что надо добавить if(isset($_POST['agree'])) сюда и ключи от остальных полей... но как это сделать синтаксически? не знаю...
 
 Top
philimon
Отправлено: 02 Апреля, 2013 - 18:49:48
Post Id


Новичок


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


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




Если просто провести проверку на ввод данных, то так:

PHP:
скопировать код в буфер обмена
  1. if ((isset($_POST['agree']))&&(!empty($_POST['login']))&&(!empty($_POST['pass'])))
  2. {
  3.  
  4.             header("Location: register.php");
  5.  
  6. }


но проверять в дальнейшем придется гораздо больше
 
 Top
boomboks
Отправлено: 02 Апреля, 2013 - 18:55:43
Post Id


Новичок


Покинул форум
Сообщений всего: 26
Дата рег-ции: Март 2013  


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




Спасибо, а без && никак? ненавижу я эти амперсанты или как там их )
 
 Top
philimon
Отправлено: 02 Апреля, 2013 - 19:02:57
Post Id


Новичок


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


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




PHP:
скопировать код в буфер обмена
  1. if ((isset($_POST['agree']))
  2. {
  3.          if (!empty($_POST['login']))
  4.          {
  5.                     if (!empty($_POST['pass']))
  6.                     {
  7.  
  8.                               header("Location: register.php");
  9.                      }
  10.           }
  11.  
  12. }
 
 Top
boomboks
Отправлено: 02 Апреля, 2013 - 19:10:55
Post Id


Новичок


Покинул форум
Сообщений всего: 26
Дата рег-ции: Март 2013  


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




Спасибо большое за идею! Оказалось я торопился выставлять хедер... Только ваш код у меня выдал синтаксическую ошибку. Сделал так!
PHP:
скопировать код в буфер обмена
  1. if(isset($_POST['agree'])){
  2. if(!empty($_POST['login']))
  3. if(!empty($_POST['pass']))
  4. header("Location: register.php");
  5.  
  6. }
 
 Top
LIME
Отправлено: 02 Апреля, 2013 - 19:24:39
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


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




boomboks пишет:
Спасибо, а без && никак? ненавижу я эти амперсанты или как там их )
philimon и ты на его бред выдал свой бред)))
boomboks не нравятся && юзай AND
 
 Top
DelphinPRO
Отправлено: 02 Апреля, 2013 - 19:42:53
Post Id



Активный участник


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


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




boomboks пишет:
Спасибо, а без && никак? ненавижу я эти амперсанты или как там их )

а я вот циклы ненавижу, может без них начнем писать? и вообще удалим их из языка!

Детский сад, блин.


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
boomboks
Отправлено: 02 Апреля, 2013 - 19:53:21
Post Id


Новичок


Покинул форум
Сообщений всего: 26
Дата рег-ции: Март 2013  


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




Причем тут детский сад, циклы они необходимы особенно при работе с массивами это ясно, но амперсанты можно заменить и это факт... По сути в PHP каждый пишет так, как ему удобно исходя из возможных вариантов. Думаю мысль понятна
 
 Top
LIME
Отправлено: 02 Апреля, 2013 - 20:02:48
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


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




boomboks непонятна
нельзя заменить амперсанды
иногда можно AND вставить но у него приоритет другой...чаще можно
а то что philimon предложил так вообще ржака
а чего ты споришь?
boomboks пишет:
По сути в PHP каждый пишет так, как ему удобно
откуда ты знаешь?
судя по теме знать тебе это неоткуда
 
 Top
DelphinPRO
Отправлено: 02 Апреля, 2013 - 20:22:59
Post Id



Активный участник


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


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




boomboks пишет:
в PHP каждый пишет так, как ему удобно

отличный аргумент в холиварах на тему "php — гуано" Здорово

(Отредактировано автором: 02 Апреля, 2013 - 20:23:32)



-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
philimon
Отправлено: 02 Апреля, 2013 - 21:46:46
Post Id


Новичок


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


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




Я вот иногда так пишу, например:

PHP:
скопировать код в буфер обмена
  1. if(($_FILES['userfile']['size'] <= 3145728)&&($_FILES['userfile']['size'] > 0))
  2.         {
  3.                 ...
  4.  
  5.                 if (mysql_num_rows($query) < 1)
  6.                 {
  7.                         ...
  8.  
  9.                                         if ($_FILES['userfile']['name'] != blabla)
  10.                                         {
  11.                                                       ....
  12.  

как мне все в одно условие засунуть?
 
 Top
DeepVarvar Супермодератор
Отправлено: 02 Апреля, 2013 - 21:54:08
Post Id



Активный участник


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


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




philimon пишет:
как мне все в одно условие засунуть?

PHP:
скопировать код в буфер обмена
  1. try {
  2.  
  3.   if (...) {
  4.     throw new Exception("Ы!");
  5.   }
  6.   if (...) {
  7.     throw new Exception("Ы!");
  8.   }
  9.   if (...) {
  10.     throw new Exception("Ы!");
  11.   }
  12.  
  13. } catch (Exception $e) {
  14.   echo $e->getMessage();
  15. }
 
 Top
LIME
Отправлено: 02 Апреля, 2013 - 21:58:32
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


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




philimon пишет:
как мне все в одно условие засунуть?
а не всегда это надо
но не разбивать же на конструкции все подряд
 
 Top
boomboks
Отправлено: 02 Апреля, 2013 - 22:44:58
Post Id


Новичок


Покинул форум
Сообщений всего: 26
Дата рег-ции: Март 2013  


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




Цитата:
откуда ты знаешь?
судя по теме знать тебе это неоткуда

Ну куда мне до вас, гуру...

Я имел ввиду почерк и те моменты, где одно можно заменить другим. Например некоторые часто используют константы, я очень-очень редко. Многие встроенные функции взаимозаменимы и что бы это понимать и знать, не обязательно быть специалистом высшего уровня...

(Отредактировано автором: 02 Апреля, 2013 - 22:47:40)

 
 Top
caballero
Отправлено: 02 Апреля, 2013 - 23:08:42
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


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




Цитата:
Я имел ввиду почерк и те моменты, где одно можно заменить другим.

да, говнокод всегда можно заменить нормальным кодом.

Цитата:
Многие встроенные функции взаимозаменимы

далеко не многие


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
Страниц (3): [1] 2 3 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB