argon bulletin board

Експертно търсене  

Новини:

Регистрирането на нови потребители е временно деактивирано.

Автор Тема: PHP header() проблем  (Прочетена 1612 пъти)

Jack Johnson

  • Неактивен Неактивен
  • Публикации: 704
  • Хора, пазете си здравето! То няма цена!
PHP header() проблем
« -: 27.06.2006, 10:06:50 »

Всеки, който се е занимавал с PHP рано или късно се сблъсква с вездесъщото съобщение за грешка от рода на ...headers already sent..., когато се използва функцията header(...); Начинът, по който заобикалям проблема е малко крив, но върши работа:

echo("<html><head><script language=javascript>");
echo("window.location='$url';");
echo("</script></head></html>");

Ще ми препоръчате ли по-интелигентен начин да заобиколя проблема?
Активен

VooDooMaN

  • Гост
Re: PHP header() проблем
« Отговор #1 -: 27.06.2006, 11:28:13 »

Разделяй бизнес логиката от презентационния слой и решаваш проблема. "headers already sent" се изписва ако си пратил output към клиента, затова е редно headers и cookies да се пращат преди каквито и да е манипулации на view-то.
« Последна редакция: 27.06.2006, 11:35:13 от VooDooMaN »
Активен

Jack Johnson

  • Неактивен Неактивен
  • Публикации: 704
  • Хора, пазете си здравето! То няма цена!
Re: PHP header() проблем
« Отговор #2 -: 27.06.2006, 18:02:53 »

   Става въпрос за OS Commerce платформата за електронна търговия. Проблемът е (беше), че като се инсталира интерфейса за български език от време на време приложението генрира съдържанието на страницата преди да изпрати хедърите. Забелязах, че това се случва (понякога) само когато се използва българския интерфейс, за английския няма проблеми.

   Имам по-важни неща за вършене вместо да седна да се ровя кой точно include не си е на мястото и реших проблема генерално - изкуствено пренасочвам към страницата, която ми трябва, при което и аз и клиентът (и надявам се потребителите) сме доволни от резултата. Решението на проблема е меко казано дървено но по-добре дървено и работещо, отколкото елегантно, но развалено!
Активен

JOKe

  • Неактивен Неактивен
  • Публикации: 2656
  • Code or Die
Re: PHP header() проблем
« Отговор #3 -: 27.06.2006, 22:56:00 »

колкото по малко JavaScript толкова по малко проблеми ... според мен решението на използване на каквото и да е свързано с javaScript е грешно.
Активен

Jack Johnson

  • Неактивен Неактивен
  • Публикации: 704
  • Хора, пазете си здравето! То няма цена!
Re: PHP header() проблем
« Отговор #4 -: 28.06.2006, 15:55:33 »

колкото по малко JavaScript толкова по малко проблеми ... според мен решението на използване на каквото и да е свързано с javaScript е грешно.

Ще ти дам само един контра пример: gmail.com

До сега не съм виждал друг сайт, който да интегрира AJAX в толкова добра комбинация!
Активен

VooDooMaN

  • Гост
Re: PHP header() проблем
« Отговор #5 -: 28.06.2006, 16:57:14 »

Javascipt е ок ако не се abuse-ва с него.
Активен

Boris

  • Неактивен Неактивен
  • Публикации: 45
    • BorisV5
Re: PHP header() проблем
« Отговор #6 -: 06.07.2006, 18:01:30 »


Ще ти дам само един контра пример: gmail.com

До сега не съм виждал друг сайт, който да интегрира AJAX в толкова добра комбинация!

Дори и от Google са се изхитрили и използват JavaScript и AJAX индиректно http://code.google.com/webtoolkit/  :-)
Те знаят силата на JavaScript  но и недостатъците му ... мисля че може да излезне нещо голямо от подобни разработки но само времето ще покаже.

Ето още една интересна интеграция на JSF и AJAX http://demo.icesoft.com/component-showcase/
Активен
BorisV5