Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Помогите отладить $_GET['page']; Наверно синтаксис... (https://javascript.ru/forum/dom-window/11089-pomogite-otladit-%24_get%5B%27page%27%5D%3B-naverno-sintaksis.html)

alturgrey 06.08.2010 04:12

Помогите отладить $_GET['page']; Наверно синтаксис...
 
Такая задача. Нужно через get организовать подгрузку разных файлов в область страницы, путем кликанья в меню.

Страница состоит из четырех подгружаемых частей.
Грузится header, footer, side-box, и в центральной части пустое место.
Туда надо подгружать файлы контента. Их много.
Меню выборки, прописано в header.php

Оно такое:
<li><a href="index.php?page=cdo">ЦДО</a></li>
<li><a href="index.php?page=eip">ЭИП</a></li>
<li><a href="index.php?page=fik">ФИК</a></li>

А в файле index.php прописана функция get. Вот сам файл:

<body><table width="200" border="1"> //блоки страницы таблицей
<tr><td colspan="2">
<? //вызов в шапку файла
include("header.php");
?>
</td></tr>
<tr><td>
//собственно главная ячейка таблицы. В нее нужно подгружать по очереди мелкие файлы контента, такие как cdo.php, eip.php, fik.php.
Казалось бы, код простой, но я что-то делаю не так. То ли строку $page не там поставил, то ли в коде ниже не два знака равенства, а один, то ли с расширениями файлов что-то не так.

<?php
$page = $_GET['page'];
if(!$page) { include("eip.php"); }
else if ($page=="cdo") { include("cdo.php"); }
else if ($page=="eip") { include("eip.php"); }
else if ($page=="fik") { include("fik.php"); }
?>
</td><td>
<?
include("rside.php");
?>
</td></tr>
<tr><td colspan="2">
<?
include("footer.php");
?>
</td></tr>
</table></body>

Файлы cdo.php, eip.php, fik.php лежат прямо в корне, вместе с вызывающим их index.php. При старте файла, грузятся все четыре include, подгружается первая страница по дефалту, указанная мною - ТУТ - if(!$page) { include("eip.php"); } . ЕЕ контент виден.
НО ... при нажатии чего-нить в меню, ВСЯ страница полностью (вместе с хедерами и футерами = хотя казалось бы, их существование никто не отменял, должны же хоть они были на странице остаться) белый скрин,
Ошибка:
невозможно найти страницу.
Возможно эт стр была удалена, переименована или врем.недоступна
бла бла
HTTP 404 файл не найден
IE

morg4n 06.08.2010 04:31

Код:

if(!$page) include("eip.php");
elseif ($page=="cdo")  include("cdo.php");
elseif ($page=="eip")  include("eip.php");
elseif ($page=="fik")  include("fik.php");
else echo "You are cool ХАЦКЕР! пшел нахъ";

во-первых так красивее.
можно еще везде писать так include("/cdo.php");
мб вылечиться
и ссылки без index.php. просто href='?page=cdo'
кто его знает, почему не работает Т_Т

а не ну все верно, если при нажатии на ссылку пишет что страница не найден, значит ссылка коряявая.
мб файл назван как нить иначе.) точно в href пиши без страницы, просто параметры

alturgrey 06.08.2010 05:09

Цитата:

Сообщение от morg4n (Сообщение 66520)
мб файл назван как нить иначе.) точно в href пиши без страницы, просто параметры

т.е ? что в href писать ?

По поводу имен файлов уже думал ... - файлы изнчально у меня about.xml, eip.xml ... я их тупо в проводнике переименовал, раз уж ф-ия php-шная.

А строку $page = $_GET['page']; я правильно поставил ? Есть для нее сторого положенное место ?

alturgrey 06.08.2010 05:49

При щелканьи на менюшки HTTP 404 уже нет. Но место для входящего файла по include пусто. Ничего в него не загружается ...

А строку $page = $_GET['page']; я правильно поставил ? Есть для нее сторого положенное место ?

и знаков == именно по два ?

chippolino 06.08.2010 20:26

тут посмотри

alturgrey 09.08.2010 04:03

с браузером проблема
 
Поправил у, работает. Спасибо большое.

И САМОЕ ВАЖНОЕ .. - такая проблема: Я бился что бы под старым IE6 работал будущий сайт (обязательное условие заказчика), так как Родительская неразбитая страница макет пахала у меня под Google Chrome и Оперой.
Сейчас, под IE6 все кажет , но под Google Chrome - Пшик - на экране только пустые ячейки таблицы (той, к которой лежат Includ-ы). Только четыре сморщенные ячейки,и все.
Мне так кажется что не понимает браузер includ.
Может суть в том, что в запускаемом index.php файле только таблица, и все. Он голый, без всех этих служебных строк в шапке файла (боди, хеды, и прочее прочее ) ???

Изначально сторонние броузеры (не официально практикуемый IE), открывали страницу неразбитую еще ... что может быть не так СЕЙЧАС ?


Часовой пояс GMT +3, время: 06:45.