2013-04-04 121 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;