PHP мистика или я делаю что то не так?
Есть некий код:
Код:
if(isset($_POST['title_ru'])){
print_r($_POST);
$title_ru = $this->clean($_POST['title_ru']);
$title_kz = $this->clean($_POST['title_kz']);
$desc_ru = $this->clean($_POST['desc_ru']);
$desc_kz = $this->clean($_POST['desc_kz']);
$slide = $this->clean($_POST['slide']);
$err = array();
if($slide == 0){
$err[]='Вы не выбрали изображение';
}
//пропущенные проверки
echo '<br><br>Слайд: '.$slide.'<br> Количество ошибок: '.count($err);
print_r($err);
//пропустищеный код
}
print_r($_POST);
$title_ru = $this->clean($_POST['title_ru']);
$title_kz = $this->clean($_POST['title_kz']);
$desc_ru = $this->clean($_POST['desc_ru']);
$desc_kz = $this->clean($_POST['desc_kz']);
$slide = $this->clean($_POST['slide']);
$err = array();
if($slide == 0){
$err[]='Вы не выбрали изображение';
}
//пропущенные проверки
echo '<br><br>Слайд: '.$slide.'<br> Количество ошибок: '.count($err);
print_r($err);
//пропустищеный код
}
Но вот незадача... вот что мне выдает скрипт:
Array ( [title_ru] => Обучающий семинар [title_kz] => [desc_ru] => Профилактика вовлечения в деструктивные религиозные организации среди молодежи [desc_kz] => [slide] => ab4ec3323dbe9f4.jpeg )
Слайд: ab4ec3323dbe9f4.jpeg
Количество ошибок: 1Array ( [0] => Вы не выбрали изображение )
КАК? отчетливо видно и в print_r , что переменная slide указана! сперва думал что проблема в фильтрации... но опятьже напрямую вывод переменной $slide выводит ее содержание
так почему ложно срабатывает проверка if($slide == 0) ??????
Судя по выводу $slide - строка. Тогда и нужно проверять как строку:
Код:
if (empty($slide)) {
$err[]='Вы не выбрали изображение';
}
$err[]='Вы не выбрали изображение';
}
Цитата: mike
А что за $slide == 0 ?
Судя по выводу $slide - строка. Тогда и нужно проверять как строку:
А это случаем вообще не аплоад файла? Если так, то все должно быть по другому: is_uploaded_file()
Судя по выводу $slide - строка. Тогда и нужно проверять как строку:
Код:
if (empty($slide)) {
$err[]='Вы не выбрали изображение';
}
$err[]='Вы не выбрали изображение';
}
$_POST['slide'] берется из <select> если изображение не указано он принимает значение 0, пустым поле не будет никак
Mike все правильно написал, уважаемый.