PHP网站模板包含代码

时间:2013-10-26 05:43:58

标签: php html php-include

我正在尝试在index.php页面上安装此代码,这样我所要做的就是编写短文件,其中只有html,以作为网站的单独页面。例如:

不是让索引,关于和联系页面都具有相同的模板代码,我希望JUST索引页面具有网站模板,并且在主页面导航上有关于about和contact的链接如

        <a href="index.php?id=about.html">About</a> 
        <a href="index.php?id=contact.html">Contact</a>

以及php包含代码。诀窍是我也使用php新闻脚本在主页上显示更新和内容,所以链接的包含必须是我猜的其他声明?

这是我到目前为止所得到的,但其返回的错误是

'id' is an undefined index

我不确定这意味着什么。

        <?php 
        $id = $_GET['id']; 
        if 
        ( isset($_GET['id']))
        { $number=5; include("news/newsfilename.php"); }
        else 
        { include "$id"; } 
        ?>

2 个答案:

答案 0 :(得分:1)

首先,关于使用查询字符串修改主页的免责声明:它对SEO没有任何好处。使用.htaccess魔法形式创建别名子目录会更好,这些子目录会在幕后传递给您的查询结构。例如。 /about可能是index.php?id=about.html的隐藏别名。鉴于你没有问过这个问题,我会保留答案中的方法。

如果未设置id查询参数,

$id = $_GET['id'];也无法为您工作,虽然您正在检查它,但您也预先设置了$id变量。

尝试这样的速记:

<?php 
    $id = isset($_GET['id']) ? $_GET['id'] : 0; //This is equivalent to a long-form if/else -- if $_GET['id'] is set, get the value, otherwise return 0/false
    if ($id)
    { 
        $number=5; include("news/newsfilename.php"); 
    }
    else 
    { 
        include($id.".html"); //also suggesting you strip out .html from your HTML and add it directly to the php.
    } 
?>

然后是你的HTML:

<a href="index.php?id=about">About</a> 
<a href="index.php?id=contact">Contact</a>

答案 1 :(得分:0)

我认为这可能是您的第一行代码的结果。由于您在检查是否设置之前尝试获取“id”,如果未设置,则会出现错误。