если оператор переключается - PullRequest
0 голосов
/ 28 февраля 2009
<?php

if ($_GET['user_id']) $content = $_GET['user_id'];
else $content = $_GET['content'];


switch($content) {

//The default page
default:
include_once('main.php');
break;

//The news related stuff
case 'news':
include_once('news.php');
break;

//Show the profile of a user
case 'user_id':
include_once('profile.php');
break;
 }
?>

index.php?user_id=id не будет работать. Есть идеи?

Ответы [ 2 ]

3 голосов
/ 28 февраля 2009

Может быть, вы хотели это:

if (isset($_GET['user_id'])) $content = 'user_id';

Вместо:

if ($_GET['user_id']) $content = $_GET['user_id'];
else $content = $_GET['content'];

Тогда switch выполнит случай user_id и включит profile.php.

3 голосов
/ 28 февраля 2009

дело default должно быть последним.

switch($content) {
    //The news related stuff
    case 'news':
        include_once('news.php');
    break;

    //Show the profile of a user
    case 'user_id':
        include_once('profile.php');
    break;

    //The default page
    default:
        include_once('main.php');
    break;
}

Плюс, вы сказали, что это не работает: index.php?user_id=id

Переменная $content заполняется значением user_id в строке _GET, поэтому, если вы хотите увидеть что-то, отличное от страницы по умолчанию, вам придется выполнить одно из следующих действий:

index.php?user_id=news
index.php?user_id=user_id

Это, вероятно, не так, как вы хотите, чтобы он вел себя, но, учитывая ваш код, это то, что он делает ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...