Проблемы с if

1234

Новичок
Проблемы с if

Код формы которая отправляет запрос:
PHP:
<form action=\"index.php?module=files&action=add_file&id_category={$_GET['id_category']}&id_subcategory={$_GET['id_subcategory']}\" method=\"POST\" enctype=\"multipart/form-data\" style=\"margin:0px;\">

<input class=\"input_admin\" name=\"file_faraway_name\" type=\"text\">
<input class=\"input_admin\" name=\"file_way\" style=\"width: 228px;\" type=\"file\">
<input class=\"button_admin\" type=\"submit\" value=\"Загрузить\">

</form>
Код скрипта:


PHP:
if($_POST['file_faraway_name'] and $_FILES['file_way']['name']){print 'Истины оба поля';}else{print 'истино одно поле';}
Проблема состоит в том, что когда я ввожу значения в оба поля(file_faraway_name и file_way) скрипт говорит, что истины оба поля(так, в принчипе и должно быть). Когда же я ввожу данные только в поле file_faraway_name, скрипт тоже говорит, что истины оба поля. А когда я ввожу данные в поле file_way, скрипт говорит, что истинно только одно поле.

Задача состоит в том, чтобы, когда данные вводятся в оба поля, скрипт говорил, что оба поля истины, а когда данные вводились в одно из полей, скрипт говорил, что истино одно поле.
 

Фанат

oncle terrible
Команда форума
проблема не с if, а с and
а точнее с тем, что ты не понимаешь, что это такое и для чего служит.
читай логические операторы в мане
 

1234

Новичок
AND - Возвращет истину, только если оба операнда равны истине.

Т.е если $_POST['file_faraway_name'] и $_FILES['file_way']['name'] истины, то принт выведет 'Истины оба поля', если же какое-то из полей не истино, то прин выведет 'истино одно поле'
 

Фанат

oncle terrible
Команда форума
да, я поторопился.

однако логика у тебястранная.
почему бы тебе в первую очередь не проверить - а чему равны эти самые поля?
почему не посмотреть на них самих, а не на результат логической операции, как это делаешь ты?
 

1234

Новичок
"почему бы тебе в первую очередь не проверить - а чему равны эти самые поля?"

Т.е равны ли они истине или нет?
 

Фанат

oncle terrible
Команда форума
нет.
не "равны ли они истине ", а чему они равны вообще.
какое имеют значение

с помощью функции var_dump()
 

1234

Новичок
Разобрался)))))
Выше этого кода стояла строчка:
Код:
$_FILES['file_way']=strip_tags($_FILES['file_way]);
И когда в запросе ничего не отправлялось, при прохождении функции strip_tags в него записовалось какое-то значение и естественно $_FILES['file_way'] был не пустой.
 
Сверху