Программирование => PHP => Тема начата: dub от 15 Сентября 2003, 02:50:58
Название: exit() - проблема метафизического характера
Отправлено: dub от 15 Сентября 2003, 02:50:58
Чем вообще может объясняться игнорирование exit()?? Совершенно дикая получается ситуация. Скрипт загружает файл на сервер. Получает всю необходимую инфу. Если с файлом что-то не так - останавливает скрипт. Упрощенно так:
if ($error) { exit(\'error\'); } ... insert($file); // создает папку и копирует туда временный файл
Так вот. Среди ошибок отслеживается стандартная ошибка "Не был загружен файл". И самое интересное, что в некоторых случаях, по совершенно не понятной мне причине, хотя сообщение \'error\' и выводятся, папочки все равно создаются. Даже ума не приложу, с какого конца начинать об этом думать. Метафизика какая-то.
Название: exit() - проблема метафизического характера
Отправлено: ThE0ReTiC от 15 Сентября 2003, 10:50:14
э... всю конструкцию покажи
Название: exit() - проблема метафизического характера
Отправлено: dub от 16 Сентября 2003, 06:55:52
ThE0ReTiC Я - болван. Конструкция - упрощенно - такая:
if (isset($_GET[\'dosubmit\'])) { $error = $_FILES[\'filename\'][\'error\']; if (isset($error) && $error != 0) { exit(\'error\'); } insert(...); } else { // форма с action==$_SERVER[\'PHP_SELF\']?>?dosubmit=1 } Парился, искал ошибку в верхней, принимающей части, упрощал ее - никак не локализуется ошибка. И вот уже когда ответ тебе писал, чтоб нагляднее было и меньше строк постить, решил форму в упрощенном виде ручками написать. И она ни с того, ни с сего заработала. И уже потом, в функции, выводящей форму, нашел такую строку:
Уж точно не знаю, почему именно таким образом интерпретировалась эта самая "двойная" отправка формы, но результат оказывался именно таким, как я описывал - ошибка выводилась, действия после ошибки - выполнялись.