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. zerosoul - 24 Мая, 2012 - 15:09:48 - перейти к сообщению
Учусь php придумал для себя задачку и не могу задать условия чтобы она правильно работала.
вот код:
CODE (htmlphp):
скопировать код в буфер обмена
  1. <?php
  2. $file="file.txt";
  3. $current="{$_POST["x"]};{$_POST["y"]}\r\n";
  4.  
  5. if(isset($_POST["x"]) && isset($_POST["y"]) )   /*&& isset($_POST["picture"])*/
  6. {
  7.  
  8. file_put_contents($file, $current, FILE_APPEND);
  9.  
  10. }
  11. else {
  12. echo'Ошибка ввода';
  13.  
  14. }
  15. ?>
  16. <form method=post>  
  17. Имя<input type=text name=x value="">
  18. Пароль<input type=text name=y value="">
  19. <input type=image name=picture src="submit_button_1.gif" />

Суть в том что я ввожу данные в поля отправляю форму и они записываються в тхт. файл:
У меня не получается задать условие: если поля нет или оно не заполнено, то выдается ошибка сейчас у меня все пишется в файл
Помогите!
2. garvey - 24 Мая, 2012 - 15:28:18 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. if(isset($_POST["x"]) && $_POST["x"] && isset($_POST["y"]) && $_POST["y"])
3. zerosoul - 24 Мая, 2012 - 15:49:28 - перейти к сообщению
Можно вопросик а почему не так?
CODE (htmlphp):
скопировать код в буфер обмена
  1. if(isset($_POST["x"]) && !empty($_POST["x"]) && isset($_POST["y"]) && !empty($_POST["y"]))


В вашем случае просто глобальные переменная ( или это и есть что она должна быть?)
4. Bio man - 24 Мая, 2012 - 16:58:38 - перейти к сообщению
zerosoul пишет:
Можно вопросик а почему не так?
Так больше символов.
В примере garvey будет задействовано правило лжи, то есть условие не выполнится если в $_POST["x"] или $_POST["y"] будет пустая строка. Оба условия равносильны и отработают одинаково.
5. Green - 24 Мая, 2012 - 19:58:28 - перейти к сообщению
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. $file = "file.txt";
  4.  
  5. if(isset($_POST["go"]) == TRUE) {
  6.         if(empty($_POST["x"]) == TRUE OR empty($_POST["y"]) == TRUE) {
  7.                 echo("Не заполнены обязательные поля!");
  8.         }
  9.         else {
  10.                 $current = $_POST["x"] . ";" .  $_POST["y"] . "\r\n";
  11.                 if(file_put_contents($file, $current, FILE_APPEND) == TRUE) {
  12.                         echo("Записано!");
  13.                 }
  14.                 else {
  15.                         echo("Ошибка при записи файла!");
  16.                 }
  17.         }
  18. }
  19. ?>
  20. <form method="POST">  
  21.         <b>Имя:</b>     <input type="text" name="x" size="35">
  22.         <b>Пароль:</b>  <input type="text" name="y" size="35">
  23. <button name="go">Записать >></button>
  24. </form>
  25.  

Вот. Переписал. Думаю это то, что Вам надо. Улыбка
6. zerosoul - 25 Мая, 2012 - 11:28:11 - перейти к сообщению
Всем спасибо! особенно Bio man за разъяснение.
Тема закрыта

 

Powered by ExBB FM 1.0 RC1