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

ETC

我知道 Wordpress 可以做到。PHP、MySQL 和 HTML 有可能吗?

编辑:我想显示从我的数据库中获得的所需 HTML 代码,而不是 content.php

4

3 回答 3

2

使用此功能查看您当前的页面。然后使用“switch”大小写正确的包含文件:

## 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.....
于 2013-04-04T12:11:10.213 回答
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];
}

}

现在,您可以使用 function 。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';}
于 2013-04-04T12:11:32.407 回答
1

您可以包含所需的页面,而不是包含 content.php。例如,如果您构建您的网址,例如 $_GET['page'] 将引用所需的页面,那么您可以这样做。

$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;
于 2013-04-04T12:15:26.170 回答