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]   

> Без описания
Romarione
Отправлено: 25 Июля, 2016 - 00:44:22
Post Id



Новичок


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


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




Я только учусь, и хотелось бы чтобы кто нибудь помог.
Не могу понять, как сделать проверку форм по отдельности.
Например когда форма с именем заполнена а с мейлом нет, соответственно нужно
чтобы он выводил сообщение только по той форме в которой есть проблема.
Додумался только использовать значение || , но это не совсем то что нужно
вот код

CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. ?php
  3.    
  4.   $name = "Вы не ввели имя или емаил";
  5.  
  6.  
  7.   if (isset($_POST["done"])) {
  8.       if ($_POST ["name"] == "" || $_POST ["Email"] == "")
  9.          echo $name."</br>";
  10.   else
  11.           header("location:index.php");
  12.   }
  13.  
  14.    $tittle = "ЧЕРНОВИК";
  15.   require "header.php";
  16.     ?>
  17.         <!DOCTYPE html>
  18.         <center>
  19.  <form name="test" action="" method="post">
  20.    <label> Имя :</label> <br>
  21.    <input type="text" name="name" placeholder"Имя" /><br>
  22.    <label> Email:</label> <br>
  23.    <input type="text" name="Email" placeholder"Email" /><br>
  24.    <label> Сообщение</label> <br>
  25.    <textarea name="message" cols="20" rows="10"> </textarea><br>
  26.    <input type="submit" name="done" value="Готово" />
  27.     </center>
  28.  
  29.  
  30.  </form>
  31.        
  32.        
  33.        
  34.         <?php
  35.         require "footer.php";
  36. ?>
  37.  
 
 Top
Fart
Отправлено: 25 Июля, 2016 - 05:32:26
Post Id



Посетитель


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


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




CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. $name = "ошибка ИМЕНИ";
  3. $mail = "ошибка ПОЧТЫ";
  4. $error = false;
  5.  
  6. if (isset($_POST["done"]) AND  isset($_POST["name"]) AND isset($_POST["Email"]))
  7. {
  8.      if (empty($_POST["name"]))
  9.      {
  10.          echo $name."</br>";
  11.          $error = true;
  12.      }
  13.  
  14.      if (empty($_POST["email"]))
  15.      {
  16.          echo $mail."</br>";
  17.          $error = true;
  18.      }
  19.  
  20.      if(!$error)
  21.      {
  22.             //код для обработки поступивших данных, регулярные выражения на проверку заполненных форм
  23.             //манипуляция с переходами по иным ссылкам и прочее
  24.      }
  25. }
  26.  


данные POST GET нужно проверять на их наличие, если они предусмотренные твоей формой и дальнейшей проверкой. с версии PHP 7 isset($_POST[]) является обязательным.

при проверке через регулярное выражение: ввел ли пользователь данные такие какие должен видеть программист... можно дописать соответствующий код и указать также отдельно если есть ошибка для дальнейшей обработки.

(Отредактировано автором: 25 Июля, 2016 - 05:47:25)

 
 Top
Romarione
Отправлено: 25 Июля, 2016 - 13:59:40
Post Id



Новичок


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


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




Спасибо большое за ответ!
Только не совсем пойму вот это :
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2.  echo $name."</br>";
  3.          $error = true;
  4.  


зачем менять error на тру

и потом переворачивать это значение как ты пишешь дальше:
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. if(!$error)
  3.      {
  4.  


или я что то не так понимаю ?
 
 Top
Viper
Отправлено: 25 Июля, 2016 - 15:00:30
Post Id



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


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


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




Romarione пишет:
и потом переворачивать это значение как ты пишешь дальше:
это проверка на ошибку. Всё правильно он пишет.


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
Fart
Отправлено: 26 Июля, 2016 - 03:38:02
Post Id



Посетитель


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


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




это не константы, поэтому данная переменная будет изменяться.

$error = false; - это некий флаг машине, который говорит, что ошибок не обнаружено

$error = true; - это некий флаг о том, что есть ошибки, хотя бы 1 обнаружена

if(!$error){} - задает условие для машины, чтобы она выполняла следующие действия. в данном случае мы спрашиваем машину: если ошибок нет, то выполнить следующий код
 
 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