繁体   English   中英

PHP网站模板包含代码

[英]PHP website template include code

我正在尝试在我的index.php页面上使用此代码,以便我所要做的就是编写仅包含html的简短文件,以充当站点的单独页面。 例如:

而不是让索引,关于页面和联系页面都具有相同的模板代码,我希望让索引页面具有网站模板,并具有指向和联系的链接,例如主页导航

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

以及php包含代码。 诀窍是我还使用php新闻脚本在主页上显示更新和内容,因此链接的包含必须是else语句,我猜是这样吗?

这是我到目前为止的内容,但是返回错误说

'id' is an undefined index

我不确定那是什么意思。

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

首先,关于使用查询字符串修改主页的免责声明:这对SEO完全不利。 您最好使用.htaccess魔术形式创建别名子目录,这些子目录在后台传递给您的查询结构。 例如/about可能是index.php?id=about.html的隐藏别名。 鉴于您没有问这个问题,我将不做任何建议。

$id = $_GET['id']; 如果未设置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>

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM