Люди!! Помогите!!! Такая трабла: имеется файл my_file.php, в котором такое содержание: if(!empty($HTTP_POST_VARS["myvar"])) { $myvar2=$HTTP_POST_VARS["myvar"];
if($myvar2=="222") { unset($HTTP_POST_VARS["myvar"]); header("Location:my_file.php"); } my_function(); // здесь трабла } function my_function() { бла-бла } ?> html-форма.. в которой action="my_file.php" Как работать должно: после первого запуска условие не срабатывает и выдается форма. После отправки из формы условие срабатывает и если $myvar2="222" опять запускает этот файл и опять условие не срабатывает, иначе, запускается функция my_function(). Проблема в том, что если
myvar=222, выполняются все операторы(unset и т.д.) и функция все равно запускается!!!!! Хотя по идее должно выбросить снова на этот файл без HTTP_POST_VARS.. Что я сделал, если вместо функции написать например echo("сработала функция"), то все работает правильно - если 222, то echo не выполняется, и открывается чистая форма. Я решил эту проблему так, после строки header(...); поставил exit; В этом случае все работает правильно и с функцией. Работает... Но объясните мне почему именно нужно ставить exit чтобы функция не срабатывала, а если вместо функции просто выводить текст, то работает правильно?????? Ведь независимо от того что написано после header(), скрипт должен сразу выкинуть на указанный файл... Или нет??? Почему????? Извините, за мои длинные и скучные вопросы, но хочу понять раз и навсегда данный трабл!!! Реализовать все это можно по другому, но меня интересует
именно почему в данном случае такая непонятка?? Премного благодарен откликнувшимся!!!!
Добрый день, Ильдар! У функции есть несколько особых случаев, и "Location:" - один из них. Согласно оригинальному руководству, после Header('Location:...'); не должен исполняться никакой код. Иначе говоря, совершенно правильно, что вы поставили exit. Далее, если вместо функции вы отправляете текст на вывод, то после этого начинается обработка посланых header-ов (как они были бы обработаны, если бы PHP встретил инструкцию exit, и решил бы, что документ полностью сформирован), и вас, соответственно, переадресуют на соответствующую страницу. Ответ отправлен: 01.03.2004, 12:06 Отправитель: samum2000
Вопрос № 193
Вопрос: Как мне вставить в html страничку файл Excel (допустим имя файла table.xls) посредством PHP. Один эксперт сказал, что 'это закрытый формат корпорации Microsoft', но это не так. Мне не нужно использовать Excel как db, меня пока устраивает MySql, мне просто нужно взять таблицу и вывести ее в браузере. Просто ссылаться на нее выдается сообщение загрузить или открыть из текущего места - тоже не подходит. В стандартном PHP (без подключения модулей) такой функции нет, но при подключении модулей такое возможно. Не могли бы Вы мне подсказать, где взять эти модули и как это все реализовать
Добрый день, Максим! все просто. Вот мой скрипт, для вывода инфы из файла екселя: привожу сам скрипт. Дальше меняйте что нужно и все. Обратите внимание, что файл должен быть с расширением .csv
Ответ отправлен: 28.02.2004, 22:32 Отправитель: NeiTrinO Отвечает samum2000
Доброе время суток, Максим! Этим одни экспертом был я. Вот тебе ссылочка http://phpexcel.h11.ru/ Но это не значит, что я отказываюсь от своих слов. Пойди и спроси у кого-нибудь из Microsoft'a о формате Excel... Потом расскажи мне, что тебе ответили :))). Ответ отправлен: 29.02.2004, 09:16 Отправитель: samum2000
Форма отправки вопроса
Внимание!
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+
или отправлять вопросы с сайта по адресу:
http://rusfaq.ru/cgi-bin/Message.cgi.