我正在尝试在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"; }
?>
答案 0 :(得分:1)
首先,关于使用查询字符串修改主页的免责声明:它对SEO没有任何好处。使用.htaccess魔法形式创建别名子目录会更好,这些子目录会在幕后传递给您的查询结构。例如。 /about
可能是index.php?id=about.html
的隐藏别名。鉴于你没有问过这个问题,我会保留答案中的方法。
$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”,如果未设置,则会出现错误。