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 » Напишите за меня, пожалуйста » Как составить условие

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

1. Rus88 - 31 Августа, 2009 - 10:58:45 - перейти к сообщению
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]



Как составить условие, так чтобы если я не ввожу в поле допустим с фамилией и чтобы выходила сообщение Вы не ввели фамилию!!!, или допустим все поля кроме одного ввожу и было написано вы не полносью заполнили форму
2. Ins1ne - 31 Августа, 2009 - 11:12:40 - перейти к сообщению
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.  
3. Viper - 31 Августа, 2009 - 11:13:51 - перейти к сообщению
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. }


кажись так. поправьте если не прав.
4. Ins1ne - 31 Августа, 2009 - 11:23:11 - перейти к сообщению
насчет method POST согласен, решение Viperа конечно хорошее, но будет выдавать только одну ошибку, если тебе нужно, чтобы выводило одним блоком например:
PHP:
скопировать код в буфер обмена
  1. "Вы не ввели имя"
  2. "Вы не ввели фамилию"

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

 

Powered by ExBB FM 1.0 RC1