day & night

Куки и уже отосланные заголовки..., Прошу помощи...
Дата обновления: , перейти к новому сообщению
icon14
#1
agp



Опытный юзверь
**

Группа: Пользователи
Сообщений: 111
Регистрация: 20.06.2006
Из: Moscow
Пользователь №: 182.446


Респектов: 3
-----X----


Предупреждений:


Всем привет...

Столкнулся сне понятным мне глюком и прошу помощи...

Сайтик для тестов разместил на бесплатной площадке hostland.su (думаю, хостер тут принципиален)...

Есть скрипт, который в админке устанавливает cookies.
Скрипт использую уже далеко не первый раз, и никогда нареканий не было. И при создании очередного сайта нашел глюк - выводится сообщение при установке coockies:

Code
Warning: Cannot modify header information - headers already sent by (output started at ***htdocs/www/admin.php:8) in ***htdocs/www/admin.php on line 79


В интернете (и собственно сам хостер) предлагали решения:
1. Пересохранить файл в UTF-8...
И так в нем работаю, так что даже как то не знаю как этим советом воспользоваться smile.gif
2. Перед вызовом php убрать все символы, даже пробелы и переносы строк.
Восьмая строка сейчас у меня уже выглядит так:
Code
<body><?php

Что тут еще убрать, не представляю...
Да и на других сайтах у меня довызова скрипта интерфейс табличкой выводится, и ничего, работает без нареканий... Правда, все те сайты на другом хостинге висят.

Подскажите, пожалуйста, в чем может быть проблема?

P. s. Прошу прощения, если спутанно объяснил...

p. p. s. Как вариант решения, может быть кто посоветует бесплатный хостинг с php+MySQL для тестов?
User is offline
Go topGo end
 

Ответов(1 - 8)
20.10.2009 - 9:13
#2
middleman



профи!
[SoftoRooMTeaM] Group Icon

Группа: Наши Люди
Сообщений: 3.366
Регистрация: 15.03.2005
Из: Украина, Харьков
Пользователь №: 8.829


Респектов: 744
-----XXXX-




Бесплатный хостинг для тестов я предпочитаю использовать свой собственный на отдельном серваке (по совместительству бывшем домашнем компе) smile.gif ни один другой такой гибкости не дает.
Ну а если лень возиться, то ho.ua неплохой вариант. Размещают сайты за один баннер вверху страницы. Есть Php, MySql, FTP, SSH (что приятно smile.gif )

Конкретно по ошибке:
Попробуй использовать другой редактор. Скорее всего твой автоматом добавляет лишние символы в конец фаила, о чем ты даже не подозреваешь. Виндовский блокнот тоже был неоднократно замечен в таком поведении. Сам я уже давно использую GridinSoft Notepad. Он удобен и лишней гадости в фаилы не добавляет. Чтобы проверить наличие лишних символов в конце фаила можно открыть фаил любым HEX редактором (хотябы тем-же WinHex) и посмотреть что там в конце за коды.

В качестве примера фаил в кодировке Unicode из разных редакторов:
User is offline
Go topGo end
20.10.2009 - 9:44
#3
stepanyk



Грамотный
***

Группа: Пользователи
Сообщений: 232
Регистрация: 5.10.2006
Пользователь №: 241.996


Респектов: 55
-----X----


Предупреждений: 0


1. Нужен UTF-8 без BOM
2. Файл должен начинаться со скрипта
3. Можно использовать, например, js-скрипт для установки кука
User is offline
Go topGo end
20.10.2009 - 10:07
#4
agp



Опытный юзверь
**

Группа: Пользователи
Сообщений: 111
Регистрация: 20.06.2006
Из: Moscow
Пользователь №: 182.446


Респектов: 3
-----X----


Предупреждений:


Использую Dreamweaver, уже не первый год... Ни разу он меня не подводил до этого smile.gif

stepanyk,
1. Естественно без BOM... Специально проверял.
2. А с чего он начинается то??? Да и,собственно, интерфейс то должен быть! Кроме того, на другом хостинге то ведь работает!
3. Не рассматривается такой вариант...

Пойду пробовать другие хостинги...

Насчет своего сервака... Использовал такой вариант, но вообще предпочитаю в интернете тестировать, напрямую, причем стараюсь на том же хостинге, где и планирую размещать сам сайт. Часто потом при переносе возникаютмелкие глюки, связанные с особенностяминастройки конкретного хостинга, как то обозначения глобальных переменных и т. п., которые проще исправлять по ходу, чем потом весь код перелопачивать.
Просто сейчас сайт, который использовал частично как тестовую площадку, закрыл, так как хочу перекинуть его на заграничный хостинг.

p. p. s. Да и локальноэта ошибка не возникает...
User is offline
Go topGo end
20.10.2009 - 10:35
#5
middleman



профи!
[SoftoRooMTeaM] Group Icon

Группа: Наши Люди
Сообщений: 3.366
Регистрация: 15.03.2005
Из: Украина, Харьков
Пользователь №: 8.829


Респектов: 744
-----XXXX-




Может быть на самом хостинге автоматом добавляются какие-то рекламные скрипты, которые устанавливают куки и естественно твой скрипт их установить уже не может. В таком случае выход только менять хостинг.

ЗЫ: правильно по всем стандартам написанный код всегда переноситься без проблем независимо от настроек хостинга smile.gif
Ну разве что за исключением тех случаев, когда используются функции, которые на хостинге отключены, но на это тоже можно сделать рассчет при создании сайта.
User is offline
Go topGo end
20.10.2009 - 10:50
#6
agp



Опытный юзверь
**

Группа: Пользователи
Сообщений: 111
Регистрация: 20.06.2006
Из: Moscow
Пользователь №: 182.446


Респектов: 3
-----X----


Предупреждений:


Для этого нужно писать правильный по всем стандартам код smile.gif

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

Кстати, аналогичная проблема, как я вычитал,возникает именно на этом хостинге и с готовыми CMS вроде WordPress или Joomla, которые на моих сайтах работают без нареканий...

А пока пробую другую тестовую площадку.
User is offline
Go topGo end
20.10.2009 - 15:13
#7
mars0h0d



Бывалый
Group Icon

Группа: Заблокированные
Сообщений: 36
Регистрация: 6.05.2008
Пользователь №: 878.335


Респектов: 10
-----X----




Список бесплатных хостингов:
User is offline
Go topGo end
20.10.2009 - 21:25
#8
agp



Опытный юзверь
**

Группа: Пользователи
Сообщений: 111
Регистрация: 20.06.2006
Из: Moscow
Пользователь №: 182.446


Респектов: 3
-----X----


Предупреждений:


Опробовал другой хостинг, та же история...

Попробую на javascript перенести установку кукисов, но все же непонятно, почему раньше скрипт работал, а сейчас перестал...
User is offline
Go topGo end
20.10.2009 - 22:19
#9
stepanyk



Грамотный
***

Группа: Пользователи
Сообщений: 232
Регистрация: 5.10.2006
Пользователь №: 241.996


Респектов: 55
-----X----


Предупреждений: 0


Почему не работает:
При не буферизованном выводе страницы заголовок "Content-type: text/html" и код пересылаются еще вовремя работы скрипта.

Почему раньше работало:
В php.ini или где-либо еще был включен буферизованный вывод страницы (output_buffering)

Что можно сделать чтоб работало:
1. Переписать скрипт с учетом отправки без буфера. Например, поставить SetCookie в начало, самому кешировать в переменную или использовать js для установки кука
2. Включить буферизацию в скрипте, поставив в начало "ob_start();" и в конец "ob_end_flush();"
3. Включить буферизацию директивой "ini_set('output_buffering' true);" или непосредственно в ini "output_buffering=On"
User is offline
Go topGo end

Topic Options
Сейчас: 28.03.2024 - 16:52
Мобильная версия | Lite версия