php菜单导航包括
我正在处理我的主页,在我的布局中包含了navigation.php。我 基本上,布局中的代码是php菜单导航包括,php,menu,navigation,Php,Menu,Navigation,我正在处理我的主页,在我的布局中包含了navigation.php。我 基本上,布局中的代码是 DIV <?php include ('header.php'); ?> DIV <?php include ('navigation.php'); ?> DIV <?php if(is_null($GET["page"])) { $page = "home"; }else{ $page = $GET["page"]; } include
DIV <?php include ('header.php'); ?>
DIV <?php include ('navigation.php'); ?>
DIV <?php
if(is_null($GET["page"])) {
$page = "home";
}else{
$page = $GET["page"];
}
include(''.$page.'.php');
?>
DIV
DIV
DIV
php中的代码是
<ul>
<li><a href='index.php?page="home"'><span>Home</span></a></li>
<li><a href='index.php?page="explore"'><span>Explore</span></a></li>
<li><a href='index.php?page="contact"'><span>Contact</span></a></li>
</div>
</ul>
尽管如此,当点击链接时,主页仍然被包括在内。Hy
在列表标记中,您有一个额外的撇号。。它们不是必需的
在html语言中,链接标记
如果要使用php get方法,可以编写简单的代码:
<a href="?page=contact">Im the contact link</a>
等等
我希望我能帮忙
顺便说一句:
使用我之前的链接格式,我给您提供了一个工作示例代码(我认为,这样更好,更安全)
嘿
一个有效的例子:
<?php
if(!empty($_GET['page']))
{
if (!file_exists($_GET['page'].".php") )
{
include("home.php");
}
else
{
include($_GET['page'] .".php");
}
}
else
{
include("home.php");
}
?>
首先回答您的问题:url参数的PHP超全局是$\u GET,而不是$GET 正确的代码是:
DIV <?php include ('header.php'); ?>
DIV <?php include ('navigation.php'); ?>
DIV <?php
if (!isset($_GET["page"]) || $_GET["page"] == "home") {
$page = "home";
} else if ($_GET["page"] == "explore") {
$page = "explore";
} else if ($_GET["page"] == "contact") {
$page = "contact";
} else {
$page = "error";
}
include($page . '.php');
?>
DIV
DIV
DIV
您应该会收到未定义变量的通知,这将帮助您调试类似的东西。检查设置以确保在开发过程中输出通知,或查看日志
其次,永远不要允许用户输入直接进入您的程序而不进行消毒。上面的例子会让你面临一个新的挑战。相反,使用用户输入检查某个值,如果您想执行类似于代码示例中的操作,请手动指定包含值。感谢这两个快速答案!我刚刚尝试了第二种方法——现在它工作得很好——就是这样。