Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/228.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获取$page=$\u GET[';page';]的错误;_Php - Fatal编程技术网

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');
    }

?>