Автор Тема: exit() - проблема метафизического характера  (Прочитано 2059 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн dub

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 236
  • +0/-0
  • 0
    • Просмотр профиля
    • http://binartis.com/
Чем вообще может объясняться игнорирование exit()?? Совершенно дикая получается ситуация.
Скрипт загружает файл на сервер. Получает всю необходимую инфу. Если с файлом что-то не так - останавливает скрипт. Упрощенно так:

if ($error) {
  exit(\'error\');
}
...
insert($file); // создает папку и копирует туда временный файл

Так вот. Среди ошибок отслеживается стандартная ошибка "Не был загружен файл". И самое интересное, что в некоторых случаях, по совершенно не понятной мне причине, хотя сообщение \'error\' и выводятся, папочки все равно создаются. Даже ума не приложу, с какого конца начинать об этом думать. Метафизика какая-то.

Оффлайн ThE0ReTiC

  • Главный по тарелочкам
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 4041
  • +2/-0
  • 2
    • Просмотр профиля
    • http://
exit() - проблема метафизического характера
« Ответ #1 : 15 Сентября 2003, 10:50:14 »
э...
всю конструкцию покажи
AS IS...

Оффлайн dub

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 236
  • +0/-0
  • 0
    • Просмотр профиля
    • http://binartis.com/
exit() - проблема метафизического характера
« Ответ #2 : 16 Сентября 2003, 06:55:52 »
ThE0ReTiC
Я - болван.
Конструкция - упрощенно - такая:
if (isset($_GET[\'dosubmit\'])) {
    $error = $_FILES[\'filename\'][\'error\'];
     if (isset($error) && $error != 0) {
         exit(\'error\');
     }
     insert(...);
}
else {
    // форма с action=?dosubmit=1
}

Парился, искал ошибку в верхней, принимающей части, упрощал ее - никак не локализуется ошибка. И вот уже когда ответ тебе писал, чтоб нагляднее было и меньше строк постить, решил форму в упрощенном виде ручками написать. И она ни с того, ни с сего заработала. И уже потом, в функции, выводящей форму, нашел такую строку:

Уж точно не знаю, почему именно таким образом интерпретировалась эта самая "двойная" отправка формы, но результат оказывался именно таким, как я описывал - ошибка выводилась, действия после ошибки - выполнялись.

Спасибо за помощь.

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28