2012-10-13 50 views
0

我使用的PHP代碼:添加Live ID的身體與PHP

<body id="<?php echo str_replace("index.php?","",(basename($_SERVER['REQUEST_URI'],".php"))); ?>"> 

<?php 
    if(isset($_GET['start'])){ 
    include('includes/start.php'); 
    }else if(isset($_GET['help'])){ 
    include('includes/help.php'); 
    }else{ 
    include('includes/start.php'); 
    } 
?> 

它的偉大工程 - 切割的index.php幫助 「幫助」 和索引? php?開始在body ID中「開始」。但是當我輸入index.php時,body ID是「index」而不是「start」。有沒有什麼辦法告訴index.php與包含start.php顯示「開始」身份證ID?

UPDATE

它應該工作動態 - 體ID是包含PHP文件的名稱,像這樣的代碼:

<?php 
    $page = str_replace(array('server_name', 'index', '?', '/', '.php'), '', $_SERVER['REQUEST_URI']); 
    $page = $page ? $page : 'start'; 
?> 

<body id="<?php echo $page ?>"> 

回答

0

我不知道我給你100%,但你可以試試

$id = $_SERVER['QUERY_STRING']; 
$bodyID = $id; 
switch ($id) { 
    case "help" : 

     include ('includes/help.php'); 
     break; 
    default : 
     $bodyID = "start"; 
     include ('includes/start.php'); 
     break; 
} 

printf("<body id=\"%s\" >", $bodyID); 

如果運行index.php?help它將包括include ('includes/help.php');並輸出

<body id="help" > 
0

這將是最好的,而不是使用:

<?php 
    $ids = 'start,help,something'; 
    $ids = explode(',',$ids); 
    $included = 0; 
    foreach ($ids as $id) { 
     if (isset($_GET[$id])) { 
      include('includes/'.$id.'.php'); 
      $included = 1; 
      break; 
     } 
    } 
    if (!$included) include('includes/'.$ids[0].'.php'); 
?> 

然後:

<body id="<?php echo $id; ?>"> 
+0

rationalboss您的解決方案的偉大工程(巴巴謝謝你的答覆也一樣),但我想要做的它動態 - 身體ID是從包含.php文件名稱 – cachaito

+0

使它動態,它默認爲第一個條目,如果沒有設置 – rationalboss

+0

rationalboss你的代碼仍然很好,但方式太複雜:-)有沒有任何華Ÿ使用我的簡單代碼與基本名稱($ _ SERVER ['REQUEST_URI']顯示index.php與ID「開始」正文? – cachaito