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/MySQL

 PHP.SU

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


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

> Без описания
JoyStick
Отправлено: 26 Января, 2012 - 14:35:41
Post Id


Новичок


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


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




Нужно сделать проверку на пустые поля,

вот есть форма

PHP:
скопировать код в буфер обмена
  1. <select name='sex' class='input'>
  2.                         <option value="">
  3.                   <option value="u">Унисекс
  4.                         <option value="m">Муж
  5.                   <option value="w">Жен                        
  6.                  </select>


вот обработка

PHP:
скопировать код в буфер обмена
  1. $sql = mysql_query("INSERT INTO `_bd`.`texniki` (sex)  VALUES('$sex')");
  2.  
  3. if (@$sql== 'true')
  4. {echo 'Данные добавлены!';}
  5.  
  6.  
  7. if ( !$sex)
  8. {
  9. echo 'Заполнены не все обязательные поля';


Не работает проверка, собственно как ее сделать)
 
 Top
Zuldek
Отправлено: 26 Января, 2012 - 14:39:00
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2122
Дата рег-ции: Июнь 2010  


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




CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. if(!isset($_POST['sex']) {
  3.      echo "заполнены не все поля";
  4. }
  5. else {
  6. $sex = $_POST['sex'];
  7. $sql = mysql_query("INSERT INTO `_bd`.`texniki` (sex)  VALUES('$sex')");
  8.     if (@$sql== 'true'){
  9.     echo 'Данные добавлены!';
  10.     }
  11.  

(Отредактировано автором: 26 Января, 2012 - 14:42:35)

 
 Top
JoyStick
Отправлено: 26 Января, 2012 - 14:43:12
Post Id


Новичок


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


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




Zuldek пишет:
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. if(!isset($_POST['sex']) {
  3.      echo "заполнены не все поля";
  4. }
  5. else {
  6. $sex = $_POST['sex'];
  7. $sql = mysql_query("INSERT INTO `_bd`.`texniki` (sex)  VALUES('$sex')");
  8.     if (@$sql== 'true'){
  9.     echo 'Данные добавлены!';
  10.     }
  11.  


А если у меня несколько полей?
 
 Top
Zuldek
Отправлено: 26 Января, 2012 - 14:51:44
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2122
Дата рег-ции: Июнь 2010  


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




JoyStick пишет:
Zuldek пишет:
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. if(!isset($_POST['sex']) {
  3.      echo "не заполнено поле sex";
  4. }
  5. elseif {
  6.      if(!isset($_POST['color']){
  7.      echo "не заполнено поле color";
  8. }
  9. ........
  10. else{
  11. // обязательно фильтруйте данные из POST через регулярное выражение или приводите к числам
  12. // нет смысла передавать тут строку пусть будет число 1 - муж или 2 - жен. потому приводим к числу.
  13. $sex = (int)$_POST['sex'];
  14. $color = $_POST['color'];
  15. $sql = mysql_query("INSERT INTO `_bd`.`texniki` (sex)  VALUES('$sex')");
  16.     if (@$sql== 'true'){
  17.     echo 'Данные добавлены!';
  18.     }
  19.  


А если у меня несколько полей?
 
 Top
Зверь
Отправлено: 26 Января, 2012 - 15:47:39
Post Id



Частый гость


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


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





Для чего тут @? И зачем булев тип приводить к строке? можно просто

(Отредактировано автором: 26 Января, 2012 - 15:48:10)

 
 Top
JoyStick
Отправлено: 28 Января, 2012 - 11:46:11
Post Id


Новичок


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


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




PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.     include 'connect.php';
  3.     if(!isset($_POST['name']))
  4.        {echo 'заполнены не все поля';}
  5.     elseif(!isset($_POST['texnika']))
  6.           {echo 'заполнены не все поля';}
  7.     elseif(!isset($_POST['id_podxod']))
  8.           {echo 'заполнены не все поля';}
  9.     elseif(isset($_POST['options'])){
  10.           $options = mysql_real_escape_string(implode(', ',$_POST['options']));
  11.           echo 'заполнены не все поля';}
  12.     elseif(!isset($_POST['sex']))
  13.           {echo 'заполнены не все поля';}
  14.     elseif(!isset($_POST['kol_people']))
  15.           {echo 'заполнены не все поля';}
  16.     elseif(!isset($_POST['age']))
  17.           {echo 'заполнены не все поля';}
  18.     elseif(!isset($_POST['dostup']))
  19.           {echo 'заполнены не все поля';}  
  20.     else {
  21.     $id_texnik=$_POST["id_texnik"];
  22.     $name=$_POST["name"];
  23.     $anotacia=$_POST["anotacia"];
  24.     $texnika=$_POST["texnika"];
  25.     $koment_spec=$_POST["koment_spec"];
  26.     $id_podxod=$_POST["id_podxod"];
  27.     $istochnik=$_POST["istochnik"];
  28.     $sex=$_POST["sex"];
  29.     $kol_people=$_POST["kol_people"];
  30.     $age=$_POST["age"];
  31.     $date_in=$_POST["date_in"];
  32.     $dostup=$_POST["dostup"];
  33.        $sql = mysql_query("INSERT INTO `navigat_bd`.`texniki` (id_texnik, name, anotacia, texnika, koment_spec,
  34.    id_podxod, options, istochnik, sex, kol_people, age, dostup)
  35.        VALUES(NULL, '$name','$anotacia','$texnika','$koment_spec','$id_podxod','$options',
  36.        '$istochnik','$sex','$kol_people','$age','$dostup')");
  37.     if ($sql== 'true')
  38.         {echo '<center><font size="5"><p><b>Данные добавлены!</b></p></font></center>';}
  39.     else{echo '<center><font size="5" color="red"><p><b>Данные не добавлены!</b></p></font></center>';}
  40.          }
  41.         ?>


Вот что у меня получилось и оно все равно добавляет пустые значения!!!
 
 Top
difight
Отправлено: 28 Января, 2012 - 12:06:03
Post Id



Посетитель


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


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




в 33 строке условие поставь если хоть одна переменная из добавляемых пуста то ничего не делать иначе добавлять и будет работатьУлыбка
(Добавление)
PHP:
скопировать код в буфер обмена
  1.  
  2.     <?PHP
  3.         include 'connect.php';
  4.         if(!isset($_POST['name']))
  5.            {
  6.            echo 'заполнены не все поля';
  7.            $error = 1;
  8.            }
  9.         elseif(!isset($_POST['texnika']))
  10.               {
  11.               echo 'заполнены не все поля';
  12.               $error = 1;
  13.               }
  14.         elseif(!isset($_POST['id_podxod']))
  15.               {
  16.               echo 'заполнены не все поля';
  17.               $error = 1;
  18.               }
  19.         elseif(isset($_POST['options']))
  20.         {
  21.               $options = mysql_real_escape_string(implode(', ',$_POST['options']));
  22.               echo 'заполнены не все поля';
  23.               $error = 1;
  24.         }
  25.         elseif(!isset($_POST['sex']))
  26.               {
  27.                 echo 'заполнены не все поля';
  28.                 $error = 1;
  29.               }
  30.         elseif(!isset($_POST['kol_people']))
  31.               {
  32.                 echo 'заполнены не все поля';
  33.                 $error = 1;
  34.               }
  35.         elseif(!isset($_POST['age']))
  36.               {
  37.                 echo 'заполнены не все поля';
  38.                 $error = 1;
  39.               }
  40.         elseif(!isset($_POST['dostup']))
  41.               {
  42.                 echo 'заполнены не все поля';
  43.                 $error = 1;
  44.               }  
  45.         else {
  46.         $id_texnik=$_POST["id_texnik"];
  47.         $name=$_POST["name"];
  48.         $anotacia=$_POST["anotacia"];
  49.         $texnika=$_POST["texnika"];
  50.         $koment_spec=$_POST["koment_spec"];
  51.         $id_podxod=$_POST["id_podxod"];
  52.         $istochnik=$_POST["istochnik"];
  53.         $sex=$_POST["sex"];
  54.         $kol_people=$_POST["kol_people"];
  55.         $age=$_POST["age"];
  56.         $date_in=$_POST["date_in"];
  57.         $dostup=$_POST["dostup"];
  58.         if ($error != 1)
  59.         {
  60.            $sql = mysql_query("INSERT INTO `navigat_bd`.`texniki` (id_texnik, name, anotacia, texnika, koment_spec,
  61.       id_podxod, options, istochnik, sex, kol_people, age, dostup)
  62.           VALUES(NULL, '$name','$anotacia','$texnika','$koment_spec','$id_podxod','$options',
  63.           '$istochnik','$sex','$kol_people','$age','$dostup')");
  64.         }
  65.         if ($sql== 'true')
  66.             {echo '<center><font size="5"><p><b>Данные добавлены!</b></p></font></center>';}
  67.         else{echo '<center><font size="5" color="red"><p><b>Данные не добавлены!</b></p></font></center>';}
  68.              }
  69.             ?>
  70.  

я бы вот так решил проблему Улыбка
 
My status
 Top
JoyStick
Отправлено: 28 Января, 2012 - 12:10:56
Post Id


Новичок


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


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




difight пишет:
в 33 строке условие поставь если хоть одна переменная из добавляемых пуста то ничего не делать иначе добавлять и будет работатьУлыбка

как? что не получилось...
(Добавление)
difight пишет:
я бы вот так решил проблему Улыбка


все равно добавляет...
(Добавление)
разобрался, у теяб там ошибочка)
 
 Top
Саныч
Отправлено: 28 Января, 2012 - 12:15:06
Post Id



Участник


Покинул форум
Сообщений всего: 1365
Дата рег-ции: Июль 2010  
Откуда: Украина, Запорожье


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




Цитата:
PHP:
скопировать код в буфер обмена
  1. if(!isset($_POST['name']))
  2.        {echo 'заполнены не все поля';}
  3.     elseif(!isset($_POST['texnika']))
  4.           {echo 'заполнены не все поля';}
  5.     elseif(!isset($_POST['id_podxod']))
  6.           {echo 'заполнены не все поля';}
  7.     elseif(isset($_POST['options'])){
  8.           $options = mysql_real_escape_string(implode(', ',$_POST['options']));
  9.           echo 'заполнены не все поля';}
  10.     elseif(!isset($_POST['sex']))
  11.           {echo 'заполнены не все поля';}
  12.     elseif(!isset($_POST['kol_people']))
  13.           {echo 'заполнены не все поля';}
  14.     elseif(!isset($_POST['age']))
  15.           {echo 'заполнены не все поля';}
  16.     elseif(!isset($_POST['dostup']))
  17.           {echo 'заполнены не все поля';}  
  18.     else {
Не понял Не понял Не понял
PHP:
скопировать код в буфер обмена
  1. if(!isset($_POST['name'], $_POST['texnika'], $_POST['id_podxod'], $_POST['sex'], $_POST['kol_people'], $_POST['age'], $_POST['dostup']))
  2.        {echo 'заполнены не все поля';}
  3.     elseif(isset($_POST['options'])){
  4.           $options = mysql_real_escape_string(implode(', ',$_POST['options']));
  5.           echo 'заполнены не все поля';}
  6.     else {


-----
Все возражают против того, что я гений, хотя никто еще так меня не назвал. - Орсон Уэллс
 
 Top
difight
Отправлено: 28 Января, 2012 - 12:16:41
Post Id



Посетитель


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


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




JoyStick пишет:
разобрался, у теяб там ошибочка)

возможно по быстрому накидалУлыбка
 
My status
 Top
JoyStick
Отправлено: 28 Января, 2012 - 12:16:48
Post Id


Новичок


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


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




не пашет, когда все заполнено пишет что не заполнено!!Но когда все пусто, добавляет пустую строку
 
 Top
Panoptik
Отправлено: 28 Января, 2012 - 12:19:36
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2493
Дата рег-ции: Нояб. 2011  
Откуда: Одесса, Украина


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




isset - проверяет существование переменной, но не наличие у нее значения

empty - проверяет содержимое переменной

поэтому isset пропускает пустые значения
(Добавление)
PHP:
скопировать код в буфер обмена
  1. if(!isset($_POST['name'], $_POST['texnika'], $_POST['id_podxod'], $_POST['sex'], $_POST['kol_people'], $_POST['age'], $_POST['dostup']))
у вас стоит отрицание. нужно убрать восклицательный знак перед isset


-----
Just do it
 
 Top
JoyStick
Отправлено: 28 Января, 2012 - 12:22:31
Post Id


Новичок


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


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




Panoptik пишет:
isset - проверяет существование переменной, но не наличие у нее значения

empty - проверяет содержимое переменной

поэтому isset пропускает пустые значения

И.....???
(Добавление)
Panoptik пишет:
у вас стоит отрицание. нужно убрать восклицательный знак перед isset

Не помогло
 
 Top
Саныч
Отправлено: 28 Января, 2012 - 12:24:19
Post Id



Участник


Покинул форум
Сообщений всего: 1365
Дата рег-ции: Июль 2010  
Откуда: Украина, Запорожье


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




JoyStick, что и?! Проверили на существование, проверили на пустоту. Если все ОК добавили, иначе - ошибка.


-----
Все возражают против того, что я гений, хотя никто еще так меня не назвал. - Орсон Уэллс
 
 Top
Panoptik
Отправлено: 28 Января, 2012 - 12:25:47
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2493
Дата рег-ции: Нояб. 2011  
Откуда: Одесса, Украина


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




PHP:
скопировать код в буфер обмена
  1.     if(!isset($_POST['name']))
  2.          //в этих местах вместо фразы ниже лучше бы написать какое именно поле не заполнено например "не заполнено поле name"
  3.            {echo 'заполнены не все поля';}
  4.         elseif(!isset($_POST['texnika']))
  5.               {echo 'заполнены не все поля';}
  6.         elseif(!isset($_POST['id_podxod']))
  7.               {echo 'заполнены не все поля';}
  8.         elseif(isset($_POST['options'])){
  9.               $options = mysql_real_escape_string(implode(', ',$_POST['options']));
  10.               echo 'заполнены не все поля';}
  11.         elseif(!isset($_POST['sex']))
  12.               {echo 'заполнены не все поля';}
  13.         elseif(!isset($_POST['kol_people']))
  14.               {echo 'заполнены не все поля';}
  15.         elseif(!isset($_POST['age']))
  16.               {echo 'заполнены не все поля';}
  17.         elseif(!isset($_POST['dostup']))
  18.               {echo 'заполнены не все поля';}  
  19.         else {
  20.               if($_POST['name'] && $_POST['texnika'] && $_POST['id_podxod'] && $_POST['sex'] && $_POST['kol_people'] && $_POST['age'] && $_POST['dostup']) {
  21.                    //все поля заполнены можно добавлять данные
  22.               } else {
  23.                   //заполнены не все поля
  24.               }
  25.  
  26.  
  27.         }


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


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB