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]   

> Описание: Как составить условие
Rus88
Отправлено: 31 Августа, 2009 - 10:58:45
Post Id



Гость


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


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

[+]


CODE (text):
скопировать код в буфер обмена
  1.  
  2. <form action="" method="get">
  3. Фамилия:<input name="firstname" type="text"><br><br>
  4. Имя:<input name="lastname" type="text"><br><br>
  5. Возраст:<input name="age" type="text"><br><br>
  6. Адрес:<input name="adress" type="text"><br><br>
  7. <input name="submit" type="submit" value="Отправить"><br><br>
  8. </form>
  9. [PHP]<?
  10. if(isset($_GET['submit']))
  11. {
  12. echo "Твое имя и фамилия:\n".$_GET['firstname']."\n".$_GET['lastname'].", и тебе\n".$_GET['age']."\n год, твой адрес проживания:\n".$_GET['adress'];
  13. }
  14. ?>
  15. [/PHP]



Как составить условие, так чтобы если я не ввожу в поле допустим с фамилией и чтобы выходила сообщение Вы не ввели фамилию!!!, или допустим все поля кроме одного ввожу и было написано вы не полносью заполнили форму
 
 Top
Ins1ne
Отправлено: 31 Августа, 2009 - 11:12:40
Post Id



Новичок


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


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




PHP:
скопировать код в буфер обмена
  1.  
  2. $error = 0;
  3. $errorMessage = array();
  4. if(!isset($_GET['firstname']) || $_GET['firstname'] == '')
  5. {
  6. $error = 1;
  7. array_push($errorMessage, "Пожалуйста введите ваше имя.");
  8. }
  9.  

и так обрабатываешь каждую строчку, которую ты хочешь проверить.
потом через switch обрабатываешь ошибки
например:
PHP:
скопировать код в буфер обмена
  1.  
  2. switch($error)
  3.                 {
  4.                         case(1): // если есть ошибки - выводим их.
  5.                                 {
  6.                                       тут выводишь ошибки
  7.                                 }
  8.                                 break;
  9.                         case(0): // если нет ошибок
  10.                         {  
  11.                                 вносишь в базу например                        
  12.                         }
  13.                 }
  14.  

(Отредактировано автором: 31 Августа, 2009 - 11:14:17)

 
 Top
Viper
Отправлено: 31 Августа, 2009 - 11:13:51
Post Id



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


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


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




method не GET a POST

PHP:
скопировать код в буфер обмена
  1. $fname = trim($_POST['firstname']);
  2. $sname = trim($_POST['lastname']);
  3. $age = trim($_POST['age']);
  4. $addr = trim($_POST['adress']);
  5.  
  6. if (!isset($fname) && empty($fname)) {
  7. echo 'вы не ввели имя';
  8. } elseif (!isset($sname) && empty($sname)) {
  9. echo 'вы не ввели фамилию';
  10. } elseif (!isset($age) && empty($age)) {
  11. echo 'вы не ввели свой возраст';
  12. } elseif (!isset($addr) && empty($addr)) {
  13. echo 'бомж?';
  14. } else {
  15. ... выполняем нужные действия ...
  16. }


кажись так. поправьте если не прав.

(Отредактировано автором: 31 Августа, 2009 - 11:15:12)



-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
Ins1ne
Отправлено: 31 Августа, 2009 - 11:23:11
Post Id



Новичок


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


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




насчет method POST согласен, решение Viperа конечно хорошее, но будет выдавать только одну ошибку, если тебе нужно, чтобы выводило одним блоком например:
PHP:
скопировать код в буфер обмена
  1. "Вы не ввели имя"
  2. "Вы не ввели фамилию"

то придется делать через массив (не обязательно через switch)

(Отредактировано автором: 01 Сентября, 2009 - 11:27:33)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB