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 » » Вопросы новичков » Проверка пустых полей

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

1. NezoRex - 09 Ноября, 2017 - 17:25:20 - перейти к сообщению
Здравствуйте! Нужна ваша в помощь в проверке пустых полей. У меня не работает сама проверка, после нажатия кнопки с пустыми полями, просто показывает сообщение, что пароль и логин записаны в файл и все. Не знаете, в чем может быть причина?
index.php:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. require "rb.php";
  4.  
  5. $data = $_POST;
  6. if( isset($data['do_signup']) )
  7. {
  8.     $errors =array();
  9.     if( trim($data['login']) == '')
  10.     {
  11.         $errors[] = 'Введите логин';
  12.     }
  13.     if( ($data['password']) == '')
  14.     {
  15.         $errors[] = 'Введите пароль';
  16.     }
  17.     if( empty($errors))
  18.     {
  19.         //все хорошо
  20.     } else
  21.     {
  22.         echo '<div style="color: red;">'.array_shift($errors).'</div><hr>';
  23.     }
  24. }
  25. ?>

CODE (html):
скопировать код в буфер обмена
  1. <form action="signup.php" method="POST">
  2.         <p>Логин</p>
  3.         <input type="text" name="login">
  4.         <p>Пароль</p>
  5.         <input type="password" name="password"><br>
  6.         <button type="submit" name="do_signup">Войти</button>
  7. </form>


signup.php:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.         $file=fopen('users.txt','a+t');
  3.         fputs($file,$_POST['login']);
  4.         fwrite($file, " - ");
  5.         fputs($file,$_POST['password']);
  6.         fwrite($file, "\n");
  7.         fclose($file);
  8.         echo 'Данные записаны в файл!';
  9. ?>
2. andrewkard - 09 Ноября, 2017 - 17:33:08 - перейти к сообщению
Как минимум добавить это
http://htmlbook[dot]ru/html/textarea/required
перед записью в файл проверить, пришло ли то, что мы ожидаем,
например регулярным выражением, и оно не пустое
3. Строитель - 09 Ноября, 2017 - 19:16:39 - перейти к сообщению
NezoRex, если файл signup.php находится в той же папке, что и index.php, то просто выполняйте его подключение в том блоке оператора if, в котором у вас прописан комментарий "Всё хорошо"
Спойлер (Отобразить)
Ну а если файл signup.php находится в другой папке, тогда в инклуде подправите его путь.
4. NezoRex - 09 Ноября, 2017 - 19:46:28 - перейти к сообщению
Строитель, спасибо большое, все заработало!
5. Строитель - 09 Ноября, 2017 - 19:48:34 - перейти к сообщению
NezoRex, ещё не мешало бы добавить каких-то проверок, а то сейчас у вас проверяется только на соответствие не пустой строке.

 

Powered by ExBB FM 1.0 RC1