PHP не работает с IE 7, 8 и 9 - PullRequest
       37

PHP не работает с IE 7, 8 и 9

0 голосов
/ 01 марта 2012

Я использую следующий код для включения содержимого страницы в файл index.php (шаблон).

if(isset($_GET['page']))
{
include($_GET['page'].'.php');
}

if(isset($_GET['special']))
{
include($_GET['special'].'.php3');
}

URL может выглядеть так: http://www.example.com/?page={PageToShow}

Это прекрасно работает для Chrome, Firefox и Safari, но содержимое не отображается в IE 7,8 и 9. Есть идеи, почему?

Ответы [ 2 ]

1 голос
/ 01 марта 2012

Браузер PHP на стороне сервера не будет зависеть от браузера, который вы используете для просмотра страницы, так что это похоже на проблему рендеринга - проверьте, что включенный код генерирует корректный HTML, и что у вас нет <html> теги включены в другие <html> теги.

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

По крайней мере, я бы порекомендовал сделать некоторые проверки работоспособности входных файлов (т.е. они находятся в webroot?), Но более современный метод - использовать переписывание .htaccess для отправки всех запросов на index.php, где затем вы можете выбрать, какие файлы включить в зависимости от запроса (для получения дополнительной информации посмотрите этот пост ).

0 голосов
/ 01 марта 2012

Сценарий на стороне сервера, который вы поместили выше, должен возвращать одинаковый результат для всех браузеров.Попробуйте выполнить отладку с помощью $_SERVER["REQUEST_URI"] и посмотрите, получите ли вы те же результаты.

Кроме того, я бы советовал не использовать такого рода включения по соображениям безопасности.

...