if语句切换

时间:2009-02-28 15:33:20

标签: php

<?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 个答案:

答案 0 :(得分:3)

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变量由_GET字符串中的user_id值填充,因此如果您想要查看默认页面以外的内容,则必须执行以下操作之一:

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

这可能不是你想要的行为,但鉴于你的代码,这就是它正在做的......

答案 1 :(得分:3)

也许你打算这样做:

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