Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006 Откуда: Israel
Помог: 3 раз(а)
Скажи пожалуйста: а строка
header('Location: abc.html');
ничем не напоминает вызов функции?
А сайт php.net ниочём не говорит?
А чтоб посмотреть что это такое нужно спец. навыки по купанию слонов?
Мне конечно не жалко если ты спросишь на форуме, почитаешь тот же кусок но скопированный к примеру Евгением или Джуром с сайта php.net
Но сколько при этом времени теряется...
----- Truly yours, Sasha.
Wolk
Отправлено: 07 Сентября, 2007 - 13:11:11
Новичок
Покинул форум
Сообщений всего: 34
Дата рег-ции: Авг. 2007
Помог: -1 раз(а)
Ну для того чтобы искать чтото на сайте,надо знать что искать,а я даже непредстовлял кчему это отнести,
Но вот собсно неполучается почемуто,ничего
Посмотрите:
<Html>
<Head>
<Title>Пример</Title>
</Head>
<Body>
<?php
Header( "Location: A.php" );
?>
</Body>
</Html>
Пишет, что в строке под номером 6 уже был отправлен Header , ну блин где он там отправлен!!!??Подскажите вчом проблема
valenok
Отправлено: 07 Сентября, 2007 - 13:50:39
Здесь могла бы быть ваша реклама
Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006 Откуда: Israel
Покинул форум
Сообщений всего: 34
Дата рег-ции: Авг. 2007
Помог: -1 раз(а)
Ничего я неигнорировалЯ уже 3 раза прочитал ту статью,узнал про возможные причины,но вот вы сами посмотрите,где в моём примере,может быть пустая строка?Или любой другой символ,который отображается в Браузере
Если тока это слово "Пример" в тэге <Title>
Но я и без него пробывал,всё равно ошибка,если ктото видит ошибку ткните меня внеё носомесли вам нетрудно.
Открывал в Блокноте,никаких изменений.
evgenijj
Отправлено: 07 Сентября, 2007 - 14:23:21
Участник
Покинул форум
Сообщений всего: 1212
Дата рег-ции: Авг. 2006 Откуда: Москва
Помог: 10 раз(а)
Цитата:
HTTP-заголовки ... согласно протоколу HTTP должны быть отправлены до тела документа. PHP, когда интерпретирует скрипт, отправляет заголовки клиенту до первого вывода в браузер. Как только встречается вывод в браузер, даже пробел, PHP считает что это начало тела документа и заголовков больше не будет. Поэтому когда он после того, как документ пошёл клиенту, встречает функции, отправляющие HTTP-заголовки (setcookie(), session_start(), header()) - он не может их уже отправить и сообщает об этом в виде вывода предупреждения в окно браузера Warning: Cannot modify header information - headers already sent by ...
Цитата:
Если вы не посылаете заголовок Content-type, PHP автоматически посылает Content-type: text/html как только вы начинаете вывод данных.
А ты, до того, как отослать заголовок успел вывести в браузер вон сколько:
< Html>
< Head>
< Title>Пример< /Title>
< /Head>
< Body>
Покинул форум
Сообщений всего: 85
Дата рег-ции: Июнь 2007 Откуда: Sachsen .Zwickau
Помог: 0 раз(а)
[+]
Думаю нет смысла(не практично) открывать новую тему по такому вопросу, но он опять появился и можно уточнить пожалуйста :
функция exit() используется для заканчивания работы скрипта ну и как я понимаю она просто необходима после header() (принудительного перехода на др.скрипт) ,но
когда же именно она необходима, а когда нет?
заранее спасибо.
Wolk
Отправлено: 07 Сентября, 2007 - 14:40:11
Новичок
Покинул форум
Сообщений всего: 34
Дата рег-ции: Авг. 2007
Помог: -1 раз(а)
Большое спасибо.
Теперь всё работает,но я в конец запутался)
А что несуществует другого способа переходить на другие страници?
И как я понял,в документе недолжно быть ничего ,ни форм,ни обычного текста,ни Html,тобиш для обработки формы если необходимо передать заголовок в документе,нужно создовать отдельный документ со сценарием?
evgenijj
Отправлено: 07 Сентября, 2007 - 14:48:33
Участник
Покинул форум
Сообщений всего: 1212
Дата рег-ции: Авг. 2006 Откуда: Москва
Помог: 10 раз(а)
Lola пишет:
функция exit() используется для заканчивания работы скрипта ну и как я понимаю она просто необходима после header()
Вовсе нет - я отослал клиенту (браузеру) заголовок, чтобы он запросил другую страницу, а сам продолжаю выполнение скрипта. Напимер, пользователь авторизовался на сайте, я его перенаправил на какую-то страницу, а сам еще записал информацию в БД о времени его последнего визита
Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006 Откуда: Israel
Помог: 3 раз(а)
Lola,
А как так вышло что ты "понимаешь что она просто необходима после header" ?
Wolf,
а чем вас не устраивает этот?
Делов том что вы совсем не понимаете основ веб программирования, будь вы и многоуважаемый специаличт по .. с++ допустим
Прочитайте http://phpfaq[dot]ru/na_tanke
и ещё четвёртый раз статью про заголовки
после чего ВСЁ что хоть немного непонятно - спросите.
----- Truly yours, Sasha.
evgenijj
Отправлено: 07 Сентября, 2007 - 15:09:30
Участник
Покинул форум
Сообщений всего: 1212
Дата рег-ции: Авг. 2006 Откуда: Москва
Помог: 10 раз(а)
Wolk пишет:
Теперь всё работает,но я в конец запутался)
Все просто. Когда пользователь набирает в адресной строке браузера что-то вроде
ht tp://myserver.com/index.html
браузер посылает запрос серверу (Apache) а сервер, найдя у себя этот документ (index.html) отдает его клиенту (браузеру). При этом не забывает отослать и заголовок
Content-type: text/html
что это html-документ (бывают и другие заголовки - например, для изображения Content-type: image/png )
Когда мы имеем дело с PHP-скриптом, Apache сперва отдает этот файл (например, chat.php) на выполнение PHP. Результат выполнения скрипта - сформированный html - будет возвращен Apache, а тот отдаст его клиенту.
Что касается заголовка Location: отправляя браузеру этот заголовок, ты даешь ему указание запросить этот документ. Я уже говорил, что результат работы PHP-скрипта - сгенерированный HTML. Но если ты собираешься перенаправить посетителя на другую страницу, зачем что-то отдавать клиенту (т.е. формировать html и выводить его в "пустоту" - браузер-то уже запросил у сервера другой документ)
Покинул форум
Сообщений всего: 85
Дата рег-ции: Июнь 2007 Откуда: Sachsen .Zwickau
Помог: 0 раз(а)
[+]
valenok пишет:
Lola,
А как так вышло что ты "понимаешь что она просто необходима после header" ?
valenok
просто я сделала вывод прочитав : http://www.php.su/functions/?header
-->Второй особый случай это "Location:" header();
ну и просматривая ваши примеры заметила что это видимо не нужно...хм я об этом не думала просто машинально использовала везде header();exit(); и хотела все-таки точнее уловить,да теперь ясны кое-какие моменты о прежних проблемах... (evgenijj-спасибо).
Zeta-johns
Отправлено: 07 Сентября, 2007 - 17:22:52
Новичок
Покинул форум
Сообщений всего: 12
Дата рег-ции: Июль 2007 Откуда: Deutschland, Plauen
Помог: 0 раз(а)
[+]
valenok
valenok пишет:
А как так вышло что ты "понимаешь что она просто необходима после header" ?
а вы всегда даете пищу для размышления в таком тоне? :crazy:
----- Amy Leeab jetzt in Vogtland
valenok
Отправлено: 07 Сентября, 2007 - 19:20:06
Здесь могла бы быть ваша реклама
Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006 Откуда: Israel
Помог: 3 раз(а)
Да, а в ней есть чтото не удачное?
----- Truly yours, Sasha.
evgenijj
Отправлено: 07 Сентября, 2007 - 19:46:15
Участник
Покинул форум
Сообщений всего: 1212
Дата рег-ции: Авг. 2006 Откуда: Москва
Помог: 10 раз(а)
Zeta-johns пишет:
valenok пишет:
А как так вышло что ты "понимаешь что она просто необходима после header" ?
а вы всегда даете пищу для размышления в таком тоне?
Люди не хотят думать. И это печально. Я ведь в свое время тоже задался вопросом - а что происходит в скрипте после отправки заголовка Location?
Только я провел опыт - будет ли сценарий продолжать работу после отправки этого заголовка? Я считал, что должен. Так и оказалось. А потом я сел и подумал - а могут ли быть случаи, когда мне нужно, чтобы сценарий продолжал работать после отправки заголовка Location? И после недолгих размышлений пришел к выводу - редко, но такое возможно. В отдельных случаях, это даже весьма удобно.
Что я этим хочу сказать? Часто ответ на свой вопрос можно получить, просто подумав над проблемой. Свои выводы можно проверить или опровергнуть простым опытом. valenok пытается эту простую мысль донести до широкой общественности.
Покинул форум
Сообщений всего: 34
Дата рег-ции: Авг. 2007
Помог: -1 раз(а)
Неспециалист я в С++))
Вот решил ознакомится с азами Веб Програмирования,и прочитать Азбуку по php,вот там такое встретил в описании форм,а точнее описании как передаются значения на сервер:
"
SUBMIT - кнопка SUBMIT, как ни странно, тоже может передавать значение в обработчик. Я не могу себе
представить зачем это нужно, но тем не менее. Значение устанавливается из атрибута VALUE. Все остальное
аналогично полю типа TEXT. "
Я какбы думал что это самый оптимальный вариант передачи данных
А оказывается,даже наоборот,неужели лучше изпользовать <type="Image">
??????
Или это просто устаревшая информация?
Я извеняюсь что достаю вас своими вопросамиПросто нету препода в универе который бы мог хоть чтото расказать по этой теме,летом сказали что начанаем изучать php , а щас хоп,один препод уволился,другой уехал,далеко далеко неизвестно на сколько
Вот и учи сам как хочеш,такчто буду вас вопросами мучить)
Сори за Офтоп
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.