Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Глобальный массив GET


Автор: romantik2011 1.9.2011, 21:54
Код
<?php
        $id = strip_tags($_GET['id']);
        switch($id){
     case 'page1': include 'page1.php'; break;
       case 'page2': include 'page2.php'; break;
         case 'page3': include 'page3.php'; break;        
         case 'table': echo '<center><h1>Привет мир!</h1></center>';
         default : $id = NULL;
    }
?>

Как определить, передан параметр или нет в $_GET ?
Дело в том что имеется меню с пунктов:

Меню

Номе
Page1
Page2
Page3
Table

При нажатии на Home должно ссылаться на главную страницу, но он выдаёт ошибку, никак не получается убрать. Как сделать чтоб при нажатии на Home ссылалось на index.php не выдавая ошибок?

Автор: enoff 1.9.2011, 21:59
Код

$id = isset($_GET['id']) ? $_GET['id'] : '';

Автор: romantik2011 1.9.2011, 22:02
Выдаёт все равно ошибку, гляньте пож. архив он небольшой, файл индекс.пхп, что-то не хочет работать.

Автор: enoff 1.9.2011, 22:16
Код

    include "lib.inc.php";
    //include 'menu.php';
    $t = 'Петя'; 
    if(!$t) //Если ложь, тогда вывести, верно?
    echo 'The end!';

что это? )

Код

//хотите сказать, что если эту строчку
$id = strip_tags($_GET['id']);
//заменить на
$id = isset($_GET['id']) ? $_GET['id'] : '';
//то все равно ошибка?

Автор: romantik2011 1.9.2011, 22:33
Код

Parse error: syntax error, unexpected T_SWITCH in C:\www\htdocs\test.ru\www\index.php on line 39


Код

<?php
    include "lib.inc.php";
    //include 'menu.php';
    $t = 'Петя'; 
    if(!$t) //Если ложь, тогда вывести, верно?
    echo 'The end!';
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru">
<head>
    <title>Шаблон сайта</title>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
</head>
<body>

<table width="100%" border="1">

<tr>
    <td colspan="2" align="center">
        <!-- Верхняя часть страницы -->
        <?php
            include "top.inc.php";
        ?>
    </td>
</tr>

<tr>
    <td width="20%" valign="top">
        <!-- Меню -->
        <?php
            include "menu.inc.php";
        ?>
    </td>
    <td>
        <!-- Область основного контента -->
    <?php
        $id = isset($_GET['id']) ? $_GET['id'] : ''
        switch($id){
         case 'page1': include 'page1.php'; break;
       case 'page2': include 'page2.php'; break;
         case 'page3': include 'page3.php'; break;        
         case 'table': echo '<center><h1>Привет мир!</h1></center>';
         default : $id = NULL;
    }
    ?>
        &nbsp;
    </td>
</tr>

<tr>
    <td colspan="2" align="center">
        <!-- Нижняя часть страницы -->
        <?php
            include "bottom.inc.php";
        ?>
    </td>
</tr>
</table>

</body>
</html>

Автор: enoff 1.9.2011, 22:34
точку с запятой забыли  smile 

Автор: romantik2011 1.9.2011, 22:44
Да, точно. А как в свитче его забабахать? Смотрел видео, автор как-то в свитче сделал такую ерундовину.

Автор: enoff 1.9.2011, 22:48
кого его и как это забабахать?


Цитата(romantik2011 @  1.9.2011,  22:44 Найти цитируемый пост)
Смотрел видео, автор как-то в свитче сделал такую ерундовину. 

 smile 

Автор: romantik2011 1.9.2011, 22:55
Чтоб при нажатии на ссылку Home ссылалось на index.php, но чтоб это было в свитче этом же, в котором проверка по айди идёт.

Автор: enoff 1.9.2011, 23:06
Код

$current_page = isset($_GET['id']) ? $_GET['id'] : 'home';
$pages = array('home', 'page1', 'page2', 'page3');
if(!in_array($current_page, $pages)) $current_page = 'home';

include($current_page . '.php');
// так?

Автор: romantik2011 1.9.2011, 23:11
Я не то имел ввиду, я имел ввиду CASE.... чтоб через него, в этом же кейсе где проверка идет на айди.

Автор: enoff 1.9.2011, 23:14
вам поставленную задачу решить надо (подключение страниц через меню) или нагородить switch на три экрана?

Автор: s0lman 2.9.2011, 09:28
Цитата(romantik2011 @  1.9.2011,  22:44 Найти цитируемый пост)
Смотрел видео

Оффтоп: сейчас пхп учат по видеокурсам? о_О


Автор: enoff 2.9.2011, 10:27
Знаменитые видеокурсы [noindex]Евгения Попова[/noindex] smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)