Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/262.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php菜单导航包括_Php_Menu_Navigation - Fatal编程技术网

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

我正在处理我的主页,在我的布局中包含了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(''.$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
您应该会收到未定义变量的通知,这将帮助您调试类似的东西。检查设置以确保在开发过程中输出通知,或查看日志


其次,永远不要允许用户输入直接进入您的程序而不进行消毒。上面的例子会让你面临一个新的挑战。相反,使用用户输入检查某个值,如果您想执行类似于代码示例中的操作,请手动指定包含值。

感谢这两个快速答案!我刚刚尝试了第二种方法——现在它工作得很好——就是这样。