2013-04-04 141 views
0

根據URL可以確定顯示內容嗎?根據網址顯示內容

我有一個索引文件,該文件是:

<?php include './includes/header.php'; ?> 
<?php include './includes/menu.php'; ?> 
<?php include './includes/content.php'; ?> 
<?php include './includes/sidebar.php'; ?> 
<?php include './includes/footer.php'; ?> 

注:我有不同的 「content.php」 的

是否有可能做這樣的事情:

If Url = url { 
    show only content for the url 
} 

,然後有案例系統如

case: home.php 
     show some 

我知道Wordpress可以做到這一點。是否可以使用PHP和MySQL和HTML?

編輯:不是content.php的我想表明從我的分貝

+0

這是可能的。但是,你能解釋一下你想要比較的東西嗎?你的意思是像http://www.google.com = http://www.google.com? – Sabari 2013-04-04 12:10:14

+0

你到底想要做什麼? – 2013-04-04 12:10:21

+0

爲什麼你不想爲此使用相同的'include'? – 2013-04-04 12:10:22

回答

1

從數據庫中查詢。

我不建議MySQL和我希望你能學會PDO來代替,但只是 這個例子

function get_me_title($page) { 
$query = "SELECT * FROM title WHERE title = $page"; 
$result = mysql_query($query); 
foreach($result as $row) { 

return $row[$page]; 
} 

} 

現在,你可以使用的功能。 get_me_title('whatever')從數據庫中查詢,並呼應下面

if(isset($_GET['page_id'])) { 

$page = $_GET['page_id']; 




switch($page) { 

case "contact"; 
echo get_me_title('contact'); 
break; 

case "about"; 
echo get_me_title('about'); 
break; 


case "portofolio"; 
echo get_me_title('portofolio') 
break; 

default: 
echo 'you are in home page'; 

} 
}else {echo '404 ERROR! The Page you have requested does not exist';} 
+0

是的,我想我可以把我的html放入一個數據庫,然後取決於側鐵! – 2013-04-04 12:13:56

+0

是的,我看不出問題,我會更新我的代碼。 – samayo 2013-04-04 12:14:50

+0

非常感謝! – 2013-04-04 12:20:01

2

使用此功能來查看當前的網頁得到所需的HTML代碼。然後使用「開關」情況下的適當包含文件:

## Get Current Page/Section 
function cur_page() 
{ 
    $cur_page=''; 
    if(isset($_SERVER['PHP_SELF']) && $_SERVER['PHP_SELF']!='') 
    { 
     $temp_var1 = explode('/', $_SERVER['PHP_SELF']); 
     $cur_page = $temp_var1[count($temp_var1)-1]; 
    } 
    else if(isset($_SERVER['SCRIPT_NAME']) && $_SERVER['SCRIPT_NAME']!='') 
    { 
     $temp_var1 = explode('/', $_SERVER['SCRIPT_NAME']); 
     $cur_page = $temp_var1[count($temp_var1)-1]; 
    } 
    else if(isset($_SERVER['REQUEST_URI']) && $_SERVER['REQUEST_URI']!='') 
    { 
     $temp_var1 = explode('/', $_SERVER['REQUEST_URI']); 
     $cur_page = $temp_var1[count($temp_var1)-1]; 
     $temp_var2 = explode('?', $cur_page); 
     $cur_page = $temp_var2[0]; 
    } 
    else if(isset($_SERVER['SCRIPT_FILENAME']) && $_SERVER['SCRIPT_FILENAME']!='') 
    { 
     $temp_var1 = explode('/', $_SERVER['SCRIPT_FILENAME']); 
     $cur_page = $temp_var1[count($temp_var1)-1]; 
    } 
    return $cur_page; 
}//end func..... 
+0

這個函數覆蓋了所有可用的末端'(PHP_SELF,SCRIPT_NAME,REQUEST_URI,SCRIPT_FILENAME)' - 這是因爲某些變量在某些環境中可用。 – 2013-04-04 12:12:21

+0

是啊,我在想,我可以把我的HTML到一個分貝,然後取決於他們的一面! – 2013-04-04 12:12:34

+0

這個func返回字符串,所以像這樣使用它='switch(cur_page()){.....}' – 2013-04-04 12:13:57

1

而是包括content.php的,您可以包括需要頁。 例如,如果您構建您的網址,例如,$ _GET ['網頁']將引用所需的網頁,則您可以執行此操作。

$availablePages = array('default' => 'home', 'about'); 
if (isset($_GET['page']) && in_array($_GET['page'], $availablePages) { 
    $page = $_GET['page'] . '.php'; 
} else { 
    $page = $availablePages['default'] . '.php'; 
} 

include $page;