[英]dynamic html pages in php
即时通讯新手到我和我尝试使用PHP的动态html页面一切似乎没问题,但当我尝试动态制作页面时,错误显示如下
Notice: Undefined index: page in C:\xampp\htdocs\myfolder\website\inter.php on line 5
我在网上检查了一下,有人坚持在$前面使用这个(@)但是当我尝试点击导航栏设计按钮时我得到了这个错误
在此服务器上找不到请求的URL。 引用页面上的链接似乎是错误的或过时的。 请通知该页面的作者有关错误的信息。
<?php
include ("includes/header.html");
include ("includes/navbar.html");
if ($_GET['page'] == "design") {
include ("includes/design.html");
}
else {
include ("includes/home.html");
}
include ("includes/footer.html");
?>
有人帮忙,因为这个错误正在倒退
你应该避免使用@
并检查是否使用例如isset()
来设置变量
<?php
include ("includes/header.html");
include ("includes/navbar.html");
if (isset($_GET['page']) && $_GET['page'] == "design"){
include ("includes/design.html");
}else{
include ("includes/home.html");
}
include ("includes/footer.html");
?>
对于一些额外的功劳,请查看switch case语句,因为您的脚本变得更加清晰:
<?php
include ("includes/header.html");
include ("includes/navbar.html");
$page=(isset($_GET['page']))?$_GET['page']:'home';
switch($page){
case "home":
include ("includes/home.html");
break;
case "design":
include ("includes/design.html");
break;
case "otherPage":
include ("includes/otherpage.html");
break;
default:
include ("includes/404.html");
break;
}
include ("includes/footer.html");
?>
该错误消息说,索引page
中数组$_GET
没有定义(即没有?page=xxx
)。
那么当没有页面传递给脚本时你想做什么?
如果设置了变量,您可以使用isset()
进行检查:
<?php
include ("includes/header.html");
include ("includes/navbar.html");
// $page defaults to an empty string
// If the "page" parameter isn't passed, this script will include "home.html"
$page = '';
if ( isset($_GET['page']) )
$page = $_GET['page'];
if ($page == "design")
{
include ("includes/design.html");
}
else // If $page isn't "design" (, "...") or $page is an empty string, include "home.html"!
{
include ("includes/home.html");
}
include ("includes/footer.html");
?>
顺便说一句,你不应该使用@
抑制所有警告! 原因有很多;)
替换此行:
if ($_GET['page'] == "design") {
这一个:
if (isset($_GET['page']) && $_GET['page'] == "design") {
通过此更改,您可以首先检查$ _GET数组中是否存在“page”键,然后(如果是的话)检查该值是否为“design”。
不要在声明前面使用@。 它用于关闭错误消息,但这将使您难以调试应用程序。
您最有可能使用浏览器在http:// localhost /或http://127.0.0.1/上请求您的页面。 $ _GET是PHP中的全局数组,由使用GET请求方法传递给PHP脚本的变量组成。 像这样:
http://www.google.com/search?q=php
search
是一个脚本, ?q=php
是一个GET请求。 只需将?page=design
传递给您的脚本, page
变量就可以使用$ _GET数组。 所以你应该在你的浏览器地址中键入类似http://localhost/index.php?page = design的内容 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.