Вопрос № 162547: Имеется: Сайт, написанный на РНР и расположенный на бесплатном хостинге. Браузеры: Opera 9.63 IE7 Mozilla FireFox 3.0.7 Проблема: Сайт работает нормально во всех браузерах. Кроме одной страницы, которая называется "Администр...
Вопрос № 162.547
Имеется: Сайт, написанный на РНР и расположенный на бесплатном хостинге. Браузеры: Opera 9.63 IE7 Mozilla FireFox 3.0.7 Проблема: Сайт работает нормально во всех браузерах. Кроме одной страницы, которая называется "Административная часть" (т.н. админка). Она отображается только в Опере. В двух других - пуста. В чём может быть причина и как её устранить?
Отвечает: Алтунин Василий Владимирович
Здравствуйте, Даниил Цветков!
1. Вся проблема может быть из-за того, что "Админка" использует JavaScript для своей работы, либо возможны ошибки в html или css коде самой "Админки", а вообще сложно судить о проблеме не имея ссылок на используемый движок.
2. Так же бесплатные хостинги нередко блокируют некоторые возможности php и у вас элементарно выдается ошибка, но ее отображение выключено на хостинге. Если у вас есть доступ к логам вашего хостинга, попробуйте зайти в админку
и сразу-же посмотреть логи сервера.
3. Так же в начало скрипта заглавной страницы админки, попробуйте вставить
Error_Reporting(E_ALL);
Возможно проблема связана с неправильной работой с кукисами или сессиями.
4. Попробуйте очистить кэш других браузеров и удалить куки, иногда помогает.
--------- ... Дорогу осилит Идущий ...
#thank 245479 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Отвечает: Товарищ Бородин
Здравствуйте, Даниил Цветков! Отображение страницы в общем случае зависит от: 1) верстки; 2) включенного/выключенного Javascript`а; 3) страница может быть "заточена" средствами PHP на показ в одном единственном браузере; 4) не худо было бы проверить, включены/выключены ли COOKIE в Ваших браузерах.
В любом случае, если страница отображается в одном браузере и не отображается в другом, то проблема кроется на стороне клиента, то есть, Вас И в данном случае Ваша ситуация - это еще не показатель того, что страница обязательно не будет отображаться в IE7 и Mozilla FireFox 3.0.7. Вам бы надо проверить это на другой машине. То есть, зайти на сайт с другого компьютера. Если Вы это делали, и ситуация повторяется, все-таки убедитесь, что включены COOKIE. В админке наверняка для хранения логина и пароля используются либо сессии, либо "пирожные"(т. е. кукисы). Если используются сессии, то
тогда не должна бы ситуация заключаться в куках(PHP будет добавлять в URL константу SID, и использовать ее для переноса идентификатора сессии между страницами). А если используются кукисы, то вполне возможно, что умный программист навставлял где ни попадя конструкций or die, в результате если сервер "не видит" суперглобальный массив $_COOKIE, то он может просто "положить" страницу, и вместо информации, Вы увидите белый экран.
Но пройдемся же, однако, по порядку: 1) проверить,
в верстке ли дело (хотя это маловероятно - но я с такими ситуациями сталкивался), Вы можете, попытавшись просмотреть HTML-код страницы. Щелкните правой кнопкой мышки по странице, и выберите "Просмотр HTML-кода"(в разных браузерах этот пункт называется по-разному); 2) Еще менее вероятно, чтобы отображение админки зависело от включенного или выключенного Javascript`а. Это делает админ-панель довольно-таки уязвимой... Тем не менее, проверьте включен ли Java
script, и если выключен - включите его; 3) Проверить "заточенность" страницы на браузер можно залезши в PHP-код и поискав там переменные $_SERVER['HTTP_USER_AGENT'] или функцию get_browser. Если Вы встретите подобные вещи, проверьте, чему равна переменная(или на какое значение она проверяется) или что возвращает функция. Но этот вариант я бы вообще назвал абсурдным. Тем не менее, вероятность имеется. А почему бы и нет? 4) выключенные кукисы - это самая вероятная причина "неработы"
сайта. Я бы советовал начать Вам именно отсюда. Повключайте или повыключайте кукисы и посмотрите, что получится.
Отправил ответ, потом посмотрел ответ предыдущий - да, действительно, как же я мог забыть! Действительно, не худо было бы error_reporting(E_ALL) в самом начале страницы написать... Это очень дельный совет Вам эксперт Алтунин Василий Владимирович дал...
О результатах прошу писать в
мини-форум, мне тоже стало интересно
С уважением, Товарищ Бородин
Ответ отправил: Товарищ Бородин (статус: Профессионал) Россия, Новосибирск Тел.: +7-923-245-3366 ---- Ответ отправлен: 17.03.2009, 10:08
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 245481 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Отвечает: HookEst
Здравствуйте, Даниил Цветков! Все дело в html верстке, Вы объявили DOCTYPE как xhtml - а стандартов xhtml не придерживаетесь, чего Firefox Вам и не прощает. валидатор http://validator.w3.org просто кричит об ошибках. но если вложенный тег html или не закрытые одиночные теги как-то бы и выводились, то комментарии отличные от формы "'<!--' ((Char - '-') | ('-' (Char - '-')))* '-->'" - http://www.w3.org/TR/2008/REC-xml-20081126/#sec-comments - все ломают(двойной "-" в комментариях НЕ ДОПУСКАЕТСЯ!).
или возьмите другой DOCTYPE, или уж придерживайтесь требований стандарта (как минимум комментарии переделайте в <!-- MENU -->).
Успехов.
Ответ отправил: HookEst (статус: Специалист)
Ответ отправлен: 18.03.2009, 09:53
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 245536 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Скажите "спасибо" эксперту, который помог Вам!
Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
на короткий номер 1151 (Россия)
Номер ответа и конкретный текст СМС указан внизу каждого ответа.
* Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи.
(полный список тарифов)
** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
*** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.