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 Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Описание: Не работает обновление страницы
LIME
Отправлено: 08 Июля, 2011 - 17:34:15
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


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




Евгений 777 тогда возможно вариант
до "<?php" не должно быть никаких пробелов и пустых строк они хоть браузером и игнорируются но ему передаются и являются выводом

(Отредактировано автором: 08 Июля, 2011 - 17:34:46)

 
 Top
Евгений 777
Отправлено: 08 Июля, 2011 - 17:35:48
Post Id



Гость


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


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




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, ну и так далее. А как ещё то? У меня все эти переменные собирают скрипты, а в самом конце кода рекурится этот главный шаблон, в который эти переменные и подставляются. Скрипт добавления коммента и этот мой рефреш (либо локэйшн) вызываются ДО этого главного шаблона.


-----
Написать код не проблема. Написать правильный код- это наука.
 
 Top
EuGen Администратор
Отправлено: 08 Июля, 2011 - 17:37:31
Post Id


Профессионал


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


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




Я про использование header()
- сделайте с помощью него и посмотрите в тексте ошибки, где же у Вас вывод начинается.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Евгений 777
Отправлено: 08 Июля, 2011 - 17:46:43
Post Id



Гость


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


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




EuGen пишет:
Я про использование header()
- сделайте с помощью него и посмотрите в тексте ошибки, где же у Вас вывод начинается.

Ничего я не нашёл там(по ссылке), простите. Разве что нашёл строку где написано "смотрите исходный код" и вспомнил (забыл написать сразу). Короче форма отправляется, страница перезагружается, выводится сообщение "Ваш коммент добавлен". В коде после этого сообщения идёт ф-я refresh (5, '');, после этого страница снова перезагружается, сообщение убирается и страница грузится уже с новым комментом, НО, смотря исходный код вижу, что последняя строка в этом исходном коде "Ваш коммент добавлен" и ВСЁ (нового коммента в исходнике нету), хотя страница уже перезагрузилась, новый коммент появился и такого сообщения на странице уже просто нет. Может это чем то поможет?

(Отредактировано автором: 08 Июля, 2011 - 17:47:22)



-----
Написать код не проблема. Написать правильный код- это наука.
 
 Top
EuGen Администратор
Отправлено: 08 Июля, 2011 - 17:48:40
Post Id


Профессионал


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


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




В итоге как Вы делаете? http://phpfaq[dot]ru/debug я предлагал чтобы отладить вариант с header()
Вариант с meta - неправильный, я уже говорил почему.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Евгений 777
Отправлено: 08 Июля, 2011 - 17:53:38
Post Id



Гость


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


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




Уважаемый EuGen, я смотрел то что Вы предложили (ссылку), но я не нашёл там ответа на свой вопрос. То что meta не лучший вариант, понял почему, но что можно исправить так и не понял.

(Отредактировано автором: 08 Июля, 2011 - 17:53:53)



-----
Написать код не проблема. Написать правильный код- это наука.
 
 Top
EuGen Администратор
Отправлено: 08 Июля, 2011 - 17:55:27
Post Id


Профессионал


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


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




Сделайте
error_reporting(2047);
после этого примените refresh() сделанный с помощью header() - и посмотрите в тексте ошибки где у Вас начат вывод и почему не происходит редирект.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Евгений 777
Отправлено: 08 Июля, 2011 - 18:01:40
Post Id



Гость


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


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




А, ну так про это же я и писал. У меня стоит error_reporting (E-ALL). А вывод он пишет якобы в первой строке того html кода что я писал.
Warning: Cannot modify header information - headers already sent by (output started (1-я строка главного шаблона), там где у меня $title. Если её комментирую, находит вывод в следующей строке. Я ж писал этот кусок кода.


-----
Написать код не проблема. Написать правильный код- это наука.
 
 Top
LIME
Отправлено: 08 Июля, 2011 - 18:03:24
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


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




Евгений 777 елки моталки HTML это же и есть вывод
ну вы блин даете))
(Добавление)
начните с пхп в нем отправте все ваши мета поля заголовками и только после выводите тайтл
(Добавление)
до тправки заголовков не должно быть не единого символа ни хтмл ни просто пробела
а мета поля хттп-еквив это просто какбы заменители заголовков
 
 Top
Евгений 777
Отправлено: 08 Июля, 2011 - 18:15:29
Post Id



Гость


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


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




Мне это с большим трудом даётся, я не пойму что где править. В простых вещах не могу разобраться Огорчение Каким образом что куда отправлять не пойму.


-----
Написать код не проблема. Написать правильный код- это наука.
 
 Top
LIME
Отправлено: 08 Июля, 2011 - 18:16:59
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


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




Евгений 777 можно проверку данных связь с БД и редирект поместить в самом начале кода? думаю что да ...тогда и вывода до локайшна не будет
 
 Top
Евгений 777
Отправлено: 08 Июля, 2011 - 19:29:16
Post Id



Гость


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


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




LIME пишет:
Евгений 777 можно проверку данных связь с БД и редирект поместить в самом начале кода? думаю что да ...тогда и вывода до локайшна не будет

Понятно, но в том и проблема, что так не получится.


-----
Написать код не проблема. Написать правильный код- это наука.
 
 Top
White
Отправлено: 08 Июля, 2011 - 19:36:07
Post Id



Частый посетитель


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


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




ob_start() в самом начале кода(перед любым выводом)
$buffer=ob_get_clean() перед условием определяющим надо отправлять header или нет. Если надо, header(), если нет echo $buffer;

P.S. Это чтобы заработало, но использовать такую кострукцию не рекомендую, лучше сделать рефакторинг кода


-----
if(time()>1356048000) die();
 
 Top
Евгений 777
Отправлено: 08 Июля, 2011 - 19:38:59
Post Id



Гость


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


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




Так вот, видно придётся в 5-й раз переделывать код, хотя уже не знаю как его ещё делать. Сколько не читал про MVC ничего больше не понял, кроме как так.


-----
Написать код не проблема. Написать правильный код- это наука.
 
 Top
White
Отправлено: 08 Июля, 2011 - 19:46:27
Post Id



Частый посетитель


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


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




Евгений 777 пишет:
Так вот, видно придётся в 5-й раз переделывать код, хотя уже не знаю как его ещё делать


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


-----
if(time()>1356048000) die();
 
 Top
Страниц (3): « 1 [2] 3 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« HTTP и PHP »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB