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
Форумы портала PHP.SU :: Версия для печати :: Обновление страницы [2]
Форумы портала PHP.SU » » HTTP и PHP » Обновление страницы

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

16. LIME - 08 Июля, 2011 - 17:34:15 - перейти к сообщению
Евгений 777 тогда возможно вариант
до "<?php" не должно быть никаких пробелов и пустых строк они хоть браузером и игнорируются но ему передаются и являются выводом
17. Евгений 777 - 08 Июля, 2011 - 17:35:48 - перейти к сообщению
EuGen пишет:
Это не про Ваш случай, у однобайтовых кодировок вроде cp1251 этого нет.

В этом случае http://phpfaq[dot]ru/debug (скрипт должен Вам написать где именно стартовал вывод)

Он мне итак пишет. Вот код главного шаблона страницы (конечно кусок),
CODE (html):
скопировать код в буфер обмена
  1. <title><? echo $title; ?></title>
  2. <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
  3. <meta name="keywords" content="<? echo $meta_k; ?>" />
  4. <meta name="description" content="<? echo $meta_d; ?>" />

Жалуется он на первую строку, там где $title. Если комментирую её, то жалуется на $meta_k, ну и так далее. А как ещё то? У меня все эти переменные собирают скрипты, а в самом конце кода рекурится этот главный шаблон, в который эти переменные и подставляются. Скрипт добавления коммента и этот мой рефреш (либо локэйшн) вызываются ДО этого главного шаблона.
18. EuGen - 08 Июля, 2011 - 17:37:31 - перейти к сообщению
Я про использование header()
- сделайте с помощью него и посмотрите в тексте ошибки, где же у Вас вывод начинается.
19. Евгений 777 - 08 Июля, 2011 - 17:46:43 - перейти к сообщению
EuGen пишет:
Я про использование header()
- сделайте с помощью него и посмотрите в тексте ошибки, где же у Вас вывод начинается.

Ничего я не нашёл там(по ссылке), простите. Разве что нашёл строку где написано "смотрите исходный код" и вспомнил (забыл написать сразу). Короче форма отправляется, страница перезагружается, выводится сообщение "Ваш коммент добавлен". В коде после этого сообщения идёт ф-я refresh (5, '');, после этого страница снова перезагружается, сообщение убирается и страница грузится уже с новым комментом, НО, смотря исходный код вижу, что последняя строка в этом исходном коде "Ваш коммент добавлен" и ВСЁ (нового коммента в исходнике нету), хотя страница уже перезагрузилась, новый коммент появился и такого сообщения на странице уже просто нет. Может это чем то поможет?
20. EuGen - 08 Июля, 2011 - 17:48:40 - перейти к сообщению
В итоге как Вы делаете? http://phpfaq[dot]ru/debug я предлагал чтобы отладить вариант с header()
Вариант с meta - неправильный, я уже говорил почему.
21. Евгений 777 - 08 Июля, 2011 - 17:53:38 - перейти к сообщению
Уважаемый EuGen, я смотрел то что Вы предложили (ссылку), но я не нашёл там ответа на свой вопрос. То что meta не лучший вариант, понял почему, но что можно исправить так и не понял.
22. EuGen - 08 Июля, 2011 - 17:55:27 - перейти к сообщению
Сделайте
error_reporting(2047);
после этого примените refresh() сделанный с помощью header() - и посмотрите в тексте ошибки где у Вас начат вывод и почему не происходит редирект.
23. Евгений 777 - 08 Июля, 2011 - 18:01:40 - перейти к сообщению
А, ну так про это же я и писал. У меня стоит error_reporting (E-ALL). А вывод он пишет якобы в первой строке того html кода что я писал.
Warning: Cannot modify header information - headers already sent by (output started (1-я строка главного шаблона), там где у меня $title. Если её комментирую, находит вывод в следующей строке. Я ж писал этот кусок кода.
24. LIME - 08 Июля, 2011 - 18:03:24 - перейти к сообщению
Евгений 777 елки моталки HTML это же и есть вывод
ну вы блин даете))
(Добавление)
начните с пхп в нем отправте все ваши мета поля заголовками и только после выводите тайтл
(Добавление)
до тправки заголовков не должно быть не единого символа ни хтмл ни просто пробела
а мета поля хттп-еквив это просто какбы заменители заголовков
25. Евгений 777 - 08 Июля, 2011 - 18:15:29 - перейти к сообщению
Мне это с большим трудом даётся, я не пойму что где править. В простых вещах не могу разобраться Огорчение Каким образом что куда отправлять не пойму.
26. LIME - 08 Июля, 2011 - 18:16:59 - перейти к сообщению
Евгений 777 можно проверку данных связь с БД и редирект поместить в самом начале кода? думаю что да ...тогда и вывода до локайшна не будет
27. Евгений 777 - 08 Июля, 2011 - 19:29:16 - перейти к сообщению
LIME пишет:
Евгений 777 можно проверку данных связь с БД и редирект поместить в самом начале кода? думаю что да ...тогда и вывода до локайшна не будет

Понятно, но в том и проблема, что так не получится.
28. White - 08 Июля, 2011 - 19:36:07 - перейти к сообщению
ob_start() в самом начале кода(перед любым выводом)
$buffer=ob_get_clean() перед условием определяющим надо отправлять header или нет. Если надо, header(), если нет echo $buffer;

P.S. Это чтобы заработало, но использовать такую кострукцию не рекомендую, лучше сделать рефакторинг кода
29. Евгений 777 - 08 Июля, 2011 - 19:38:59 - перейти к сообщению
Так вот, видно придётся в 5-й раз переделывать код, хотя уже не знаю как его ещё делать. Сколько не читал про MVC ничего больше не понял, кроме как так.
30. White - 08 Июля, 2011 - 19:46:27 - перейти к сообщению
Евгений 777 пишет:
Так вот, видно придётся в 5-й раз переделывать код, хотя уже не знаю как его ещё делать


может вы просто ищете слишком сложные пути? почему не использовать JS? вы планируете поддержку мобильных браузеров, или расчитываете на то, что сайтом будут пользоваться параноики которые его специально выключают?
а ведь так просто window.location.href и все...

 

Powered by ExBB FM 1.0 RC1