PHP获取$page=$\u GET[';page';]的错误;
这是我的全部代码。分享给你 这是我的错误:PHP获取$page=$\u GET[';page';]的错误;,php,Php,这是我的全部代码。分享给你 这是我的错误: Notice: Undefined index: page in /export/home/dynamic/index.php on line 20 我似乎不明白为什么我总是犯这个错误。这不是第一次了,我怀疑这是阵列,但我不知道该怎么处理它 假设它对我的网站进行动态更改。 我以前也有过这样的错误,我在这里创建了一个全局变量,比如$page=$\u GET['page'] 我愿意接受任何类型的回答,我对他们中的每一个人都很感激 <!DOCTYPE
Notice: Undefined index: page in /export/home/dynamic/index.php on line 20
我似乎不明白为什么我总是犯这个错误。这不是第一次了,我怀疑这是阵列,但我不知道该怎么处理它
假设它对我的网站进行动态更改。
我以前也有过这样的错误,我在这里创建了一个全局变量,比如$page=$\u GET['page']代码>
我愿意接受任何类型的回答,我对他们中的每一个人都很感激
<!DOCTYPE html>
<html>
<head>
<title>Website</title>
</head>
<body>
<header>Header<br />
<nav>
<a href="index.php?page=index">INDEX</a>
<a href="index.php?page=page1">Startsida</a>
<a href="index.php?page=page2">Anteckningar</a>
<a href="index.php?page=page3">Kontakt</a>
<!-- <a href="index.php?page=faq">FAQ</a> -->
</nav></header>
<div id="content">
<?php
// Place the value from ?page=value in the URL to the variable $page.
$page = $_GET['page'];
// Create an array of the only pages allowed.
$pageArray = array(
'index',
'page1',
'page2',
'page3',
'faq'
);
// If there is no page set, include the default main page.
if (!$page) {
include('pages/index.php');
}
// Is $page in the array?
$inArray = in_array($page, $pageArray);
// If so, include it, if not, emit error.
if ($inArray == true) {
include('pages/'. $page .'.php');
}else {
echo 'Umm tisk tisk. You should not be messing with things.';
}
?>
</div>
<footer>Footer</footer>
</body>
</html>
网站
标题
页脚
问题解决了!
多亏了hek2mgl,我的代码现在可以正常工作了
我要感谢其他人提交了你对我问题的答案。我欠你们的。你们在分配一个不存在的值。在使用$\u GET之前,您应该检查它是否存在
使用isset($\u GET['page'];)
您需要检查page
是否通过GET vars传输:
if(isset($_GET['page'])) {
$page = $_GET['page'];
} else {
// set proper default value if it was not set
$page = 'index';
}
在下一步中,您需要检查$page
是否包含正确的值:
if(!in_array($page, $pages)) {
die('page was not found');
}
这是因为'page'
不是$\u GET
中的现有索引。你可以检查它是否是第一个
$page = isset($_GET['page']) ? $_GET['page'] : "";
或者你可以让通知保持沉默
$page = @$_GET['page'];
之后,只需检查页面是否为已知页面
$page = in_array($page, $knownPages) ? $page : "index";
和前面的答案有点出入
<?php
$p = array("Home", "About", "Hosting", "VPS","GameServer","Contact");
if ((isset($_GET['page']) || !empty($_GET['page'])) && in_array($_GET['page'], $p))
{
include('pages/'.$_GET['page'].'.php');
}else{
include('pages/home.php');
}
?>
首先,您应该始终使用isset()-function检查$\u GET['page']变量的存在性,但我在这里就是这么做的。//数组中是否有$page$inArray=in_数组($page,$pageArray);//如果是,包括它,如果不是,则发出错误。如果($inArray==true){include('pages/'.$page..php');}else{echo'Umm tisk tisk.你不应该把事情弄糟。;}天哪!成功了!:D谢谢你!使用if(isset($\u GET['page']){$page=$\u GET['page'];}或者{//如果未设置$page='index';}则设置适当的默认值有效:)感谢它的帮助:)是的,在PHP中,在访问它之前需要确保数组索引存在。我很高兴它有效:)再次感谢。如果没有任何不便,请您链接到一个页面,进一步解释这一点:)似乎是对的,谢谢你的时间:)你帮了我很大的忙,我非常感谢你的每一个答案。谢谢你提交你的答案。我的问题现在解决了:)谢谢你提交你的答案。我的问题现在解决了:)欢迎使用堆栈溢出!虽然这个代码片段可以解决这个问题,但它确实有助于提高文章的质量。请记住,您将在将来回答读者的问题,这些人可能不知道您的代码建议的原因。
<?php
$p = array("Home", "About", "Hosting", "VPS","GameServer","Contact");
if ((isset($_GET['page']) || !empty($_GET['page'])) && in_array($_GET['page'], $p))
{
include('pages/'.$_GET['page'].'.php');
}else{
include('pages/home.php');
}
?>