Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

PHP мистика или я делаю что то не так?

7.3K
29 октября 2014 года
shureg
67 / / 29.05.2010
Доброго времени суток. Помогите у меня какаето аномалия....


Есть некий код:

Код:
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);
//пропустищеный код
}
Собственно все логично...

Но вот незадача... вот что мне выдает скрипт:
Цитата:

Array ( [title_ru] => Обучающий семинар [title_kz] => [desc_ru] => Профилактика вовлечения в деструктивные религиозные организации среди молодежи [desc_kz] => [slide] => ab4ec3323dbe9f4.jpeg )

Слайд: ab4ec3323dbe9f4.jpeg
Количество ошибок: 1Array ( [0] => Вы не выбрали изображение )



КАК? отчетливо видно и в print_r , что переменная slide указана! сперва думал что проблема в фильтрации... но опятьже напрямую вывод переменной $slide выводит ее содержание

так почему ложно срабатывает проверка if($slide == 0) ??????

4
29 октября 2014 года
mike
3.7K / / 01.10.2002
А что за $slide == 0 ?

Судя по выводу $slide - строка. Тогда и нужно проверять как строку:

 
Код:
if (empty($slide)) {
    $err[]='Вы не выбрали изображение';
    }
А это случаем вообще не аплоад файла? Если так, то все должно быть по другому: is_uploaded_file()
7.3K
29 октября 2014 года
shureg
67 / / 29.05.2010
Цитата: mike
А что за $slide == 0 ?

Судя по выводу $slide - строка. Тогда и нужно проверять как строку:

 
Код:
if (empty($slide)) {
    $err[]='Вы не выбрали изображение';
    }
А это случаем вообще не аплоад файла? Если так, то все должно быть по другому: is_uploaded_file()



$_POST['slide'] берется из <select> если изображение не указано он принимает значение 0, пустым поле не будет никак

86K
30 октября 2014 года
Defman
6 / / 24.09.2014
Mike все правильно написал, уважаемый. Почитайте, какие значения для функции empty являются пустыми.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог