我正在尝试在我的index.php页面上有这段代码,这样我所要做的就是编写除了html之外什么都没有的短文件,作为网站的单独页面。例如:
不是让索引、关于和联系页面都有相同的模板代码,我希望只有索引页面有网站模板,并在主页导航上有一个关于和联系的链接,例如
<a href="index.php?id=about.html">About</a>
<a href="index.php?id=contact.html">Contact</a>连同一个php包含代码。诀窍是我也在使用php新闻脚本在主页上显示更新和内容,所以链接的include必须是else语句,我猜?
这就是我到目前为止所得到的,但是它返回的错误是
'id' is an undefined index。
我不确定这是什么意思。
<?php
$id = $_GET['id'];
if
( isset($_GET['id']))
{ $number=5; include("news/newsfilename.php"); }
else
{ include "$id"; }
?>发布于 2013-10-26 13:49:59
首先,关于使用查询字符串修改主页的免责声明:这对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>发布于 2013-10-26 13:46:58
我认为这可能是您的第一行代码的结果。由于您在检查是否已设置之前尝试获取'id‘,如果未设置,您将得到一个错误。
https://stackoverflow.com/questions/19603329
复制相似问题