Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Написание чата [2]

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (4): « 1 [2] 3 4 »   

> Без описания
valenok Модератор
Отправлено: 06 Сентября, 2007 - 19:39:24
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


Помог: 3 раз(а)




Скажи пожалуйста: а строка

header('Location: abc.html');

ничем не напоминает вызов функции?

А сайт php.net ниочём не говорит?
А чтоб посмотреть что это такое нужно спец. навыки по купанию слонов?

Мне конечно не жалко если ты спросишь на форуме, почитаешь тот же кусок но скопированный к примеру Евгением или Джуром с сайта php.net
Но сколько при этом времени теряется...


-----
Truly yours, Sasha.
 
My status
 Top
Wolk
Отправлено: 07 Сентября, 2007 - 13:11:11
Post Id


Новичок


Покинул форум
Сообщений всего: 34
Дата рег-ции: Авг. 2007  


Помог: -1 раз(а)




Ну для того чтобы искать чтото на сайте,надо знать что искать,а я даже непредстовлял кчему это отнести,
Но вот собсно неполучается почемуто,ничегоНедовольство, огорчение
Посмотрите:
<Html>
<Head>
<Title>Пример</Title>
</Head>
<Body>
<?php
Header( "Location: A.php" );
?>
</Body>
</Html>
Пишет, что в строке под номером 6 уже был отправлен Header , ну блин где он там отправлен!!!??Подскажите вчом проблемаУлыбка
 
 Top
valenok Модератор
Отправлено: 07 Сентября, 2007 - 13:50:39
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


Помог: 3 раз(а)




В том что вы проигнорировали последнее сообщение Евгения
со ссылкой на http://phpfaq[dot]ru/headers


-----
Truly yours, Sasha.
 
My status
 Top
Wolk
Отправлено: 07 Сентября, 2007 - 14:15:52
Post Id


Новичок


Покинул форум
Сообщений всего: 34
Дата рег-ции: Авг. 2007  


Помог: -1 раз(а)




Ничего я неигнорировалУлыбкаЯ уже 3 раза прочитал ту статью,узнал про возможные причины,но вот вы сами посмотрите,где в моём примере,может быть пустая строка?Или любой другой символ,который отображается в БраузереУлыбка
Если тока это слово "Пример" в тэге <Title>
Но я и без него пробывал,всё равно ошибка,если ктото видит ошибку ткните меня внеё носомУлыбкаесли вам нетрудно.
Открывал в Блокноте,никаких изменений.
 
 Top
evgenijj
Отправлено: 07 Сентября, 2007 - 14:23:21
Post Id



Участник


Покинул форум
Сообщений всего: 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>
 
 Top
Lola
Отправлено: 07 Сентября, 2007 - 14:39:53
Post Id


Гость


Покинул форум
Сообщений всего: 85
Дата рег-ции: Июнь 2007  
Откуда: Sachsen .Zwickau


Помог: 0 раз(а)

[+]


Думаю нет смысла(не практично) открывать новую тему по такому вопросу, но он опять появился и можно уточнить пожалуйста :

функция exit() используется для заканчивания работы скрипта ну и как я понимаю она просто необходима после header() (принудительного перехода на др.скрипт) ,но
когда же именно она необходима, а когда нет?


заранее спасибо.
 
 Top
Wolk
Отправлено: 07 Сентября, 2007 - 14:40:11
Post Id


Новичок


Покинул форум
Сообщений всего: 34
Дата рег-ции: Авг. 2007  


Помог: -1 раз(а)




Большое спасибо.
Теперь всё работает,но я в конец запуталсяУлыбка)
А что несуществует другого способа переходить на другие страници?
И как я понял,в документе недолжно быть ничего ,ни форм,ни обычного текста,ни Html,тобиш для обработки формы если необходимо передать заголовок в документе,нужно создовать отдельный документ со сценарием?
 
 Top
evgenijj
Отправлено: 07 Сентября, 2007 - 14:48:33
Post Id



Участник


Покинул форум
Сообщений всего: 1212
Дата рег-ции: Авг. 2006  
Откуда: Москва


Помог: 10 раз(а)




Lola пишет:

функция exit() используется для заканчивания работы скрипта ну и как я понимаю она просто необходима после header()


Вовсе нет - я отослал клиенту (браузеру) заголовок, чтобы он запросил другую страницу, а сам продолжаю выполнение скрипта. Напимер, пользователь авторизовался на сайте, я его перенаправил на какую-то страницу, а сам еще записал информацию в БД о времени его последнего визита
PHP:
скопировать код в буфер обмена
  1.  
  2. if ( совпали логин и пароль )
  3. {
  4.   header ( "Location: hello.php" );
  5.   mysql_query( обновляем время последнего посещения );
  6.   mail( сообщаем администратору сайта );
  7. }
  8. else
  9. {
  10.   header( "Location: login.php" );
  11.   die();
  12. }
  13.  
 
 Top
valenok Модератор
Отправлено: 07 Сентября, 2007 - 14:57:39
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


Помог: 3 раз(а)




Lola,
А как так вышло что ты "понимаешь что она просто необходима после header" ?

Wolf,
а чем вас не устраивает этот?
Делов том что вы совсем не понимаете основ веб программирования, будь вы и многоуважаемый специаличт по .. с++ допустим
Прочитайте http://phpfaq[dot]ru/na_tanke
и ещё четвёртый раз статью про заголовки
после чего ВСЁ что хоть немного непонятно - спросите.


-----
Truly yours, Sasha.
 
My status
 Top
evgenijj
Отправлено: 07 Сентября, 2007 - 15:09:30
Post Id



Участник


Покинул форум
Сообщений всего: 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 и выводить его в "пустоту" - браузер-то уже запросил у сервера другой документ)
PHP:
скопировать код в буфер обмена
  1.  
  2. if ( совпали логин и пароль )
  3.   echo "< p><a href=chat.php>Перейти на страницу чата</a></p>";
  4. else
  5. {
  6.   echo "< p>Неверный логин или пароль!</p>";
  7.   echo "< p><a href=login.php>Попробовать еще раз</a></p>";
  8. }
  9.  

А можно так
PHP:
скопировать код в буфер обмена
  1.  
  2. if ( совпали логин и пароль )
  3.   header("Location: chat.php");
  4. else
  5.   header("Location: login.php");
  6.  

А можно и так
PHP:
скопировать код в буфер обмена
  1.  
  2. if ( совпали логин и пароль )
  3.   header("Location: chat.php");
  4. else
  5. {
  6.   echo "< p>Неверный логин или пароль!</p>";
  7.   echo "< p><a href=login.php>Попробовать еще раз</a></p>";
  8. }
  9.  
 
 Top
Lola
Отправлено: 07 Сентября, 2007 - 15:12:15
Post Id


Гость


Покинул форум
Сообщений всего: 85
Дата рег-ции: Июнь 2007  
Откуда: Sachsen .Zwickau


Помог: 0 раз(а)

[+]


valenok пишет:
Lola,
А как так вышло что ты "понимаешь что она просто необходима после header" ?

valenok
просто я сделала вывод прочитав :
http://www.php.su/functions/?header
-->Второй особый случай это "Location:" header();
ну и просматривая ваши примеры заметила что это видимо не нужно...хм я об этом не думала просто машинально использовала везде header();exit(); и хотела все-таки точнее уловить,да теперь ясны кое-какие моменты о прежних проблемах... (evgenijj-спасибо).
 
 Top
Zeta-johns
Отправлено: 07 Сентября, 2007 - 17:22:52
Post Id



Новичок


Покинул форум
Сообщений всего: 12
Дата рег-ции: Июль 2007  
Откуда: Deutschland, Plauen


Помог: 0 раз(а)

[+]


valenok
valenok пишет:
А как так вышло что ты "понимаешь что она просто необходима после header" ?

а вы всегда даете пищу для размышления в таком тоне? :crazy:


-----
Amy Lee ab jetzt in Vogtland
 
 Top
valenok Модератор
Отправлено: 07 Сентября, 2007 - 19:20:06
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


Помог: 3 раз(а)




Да, а в ней есть чтото не удачное?


-----
Truly yours, Sasha.
 
My status
 Top
evgenijj
Отправлено: 07 Сентября, 2007 - 19:46:15
Post Id



Участник


Покинул форум
Сообщений всего: 1212
Дата рег-ции: Авг. 2006  
Откуда: Москва


Помог: 10 раз(а)




Zeta-johns пишет:

valenok пишет:
А как так вышло что ты "понимаешь что она просто необходима после header" ?

а вы всегда даете пищу для размышления в таком тоне?

Люди не хотят думать. И это печально. Я ведь в свое время тоже задался вопросом - а что происходит в скрипте после отправки заголовка Location?

Только я провел опыт - будет ли сценарий продолжать работу после отправки этого заголовка? Я считал, что должен. Так и оказалось. А потом я сел и подумал - а могут ли быть случаи, когда мне нужно, чтобы сценарий продолжал работать после отправки заголовка Location? И после недолгих размышлений пришел к выводу - редко, но такое возможно. В отдельных случаях, это даже весьма удобно.

Что я этим хочу сказать? Часто ответ на свой вопрос можно получить, просто подумав над проблемой. Свои выводы можно проверить или опровергнуть простым опытом. valenok пытается эту простую мысль донести до широкой общественности.
 
 Top
Wolk
Отправлено: 08 Сентября, 2007 - 13:53:35
Post Id


Новичок


Покинул форум
Сообщений всего: 34
Дата рег-ции: Авг. 2007  


Помог: -1 раз(а)




Неспециалист я в С++Улыбка))
Вот решил ознакомится с азами Веб Програмирования,и прочитать Азбуку по php,вот там такое встретил в описании форм,а точнее описании как передаются значения на сервер:
"
SUBMIT - кнопка SUBMIT, как ни странно, тоже может передавать значение в обработчик. Я не могу себе
представить зачем это нужно, но тем не менее. Значение устанавливается из атрибута VALUE. Все остальное
аналогично полю типа TEXT. "
Я какбы думал что это самый оптимальный вариант передачи данныхУлыбка
А оказывается,даже наоборот,неужели лучше изпользовать <type="Image">
??????
Или это просто устаревшая информация?
Я извеняюсь что достаю вас своими вопросамиУлыбкаПросто нету препода в универе который бы мог хоть чтото расказать по этой теме,летом сказали что начанаем изучать php , а щас хоп,один препод уволился,другой уехал,далеко далеко неизвестно на сколькоУлыбка
Вот и учи сам как хочеш,такчто буду вас вопросами мучитьУлыбка)
Сори за ОфтопУлыбка
 
 Top
Страниц (4): « 1 [2] 3 4 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB