可能重复:
PHP: “Notice: Undefined variable” and “Notice: Undefined index”
你好,这是我的代码:
<?php
// zmienna $go przekazana metoda GET
$go = $_GET['go'];
// sprawdzamy czy zmienna $go nie jest pusta
if(!empty($go)) {
// sprawdzamy czy plik o danej nazwie istnieje
if(is_file("page/$go.php")) include "page/$go.php";
// jezeli plik nie istnieje wyswietla się komunikat
else echo "<br />Nie ma takiej strony.";
}
// jezeli zmienna $go jest pusta wyswietla się strona glowna
else include "page/8.php";
?>
我收到了错误:
Notice: Undefined index: go in C:\xampp\htdocs\sz\index.php on line 32
第32行是:
$go = $_GET['go'];
有任何帮助吗?这很烦人。
答案 0 :(得分:5)
if( isset( $_GET['go'] ) ){
$go = $_GET['go'];
}else{
$go = 8;
}
答案 1 :(得分:1)
John发布了一个有用的解决方案和设置代码的好方法;但我认为在错误修复后你可能会通过搜索错误的目录得到另一个错误:
if(is_file("page/$go.php")) include "page/$go.php";
更正将是:
if(is_file("page/" . $go . ".php")) include "page/" . $go . ".php"; // would go to page/32.php
如果您不将变量与字符串分开,则会尝试寻找错误的链接。
答案 2 :(得分:0)
在尝试访问之前,您需要先检查isset($_GET['go'])
。以下代码解决了这个问题。
<?php
if( isset($_GET['go']) && !empty($go) ) {
$go = $_GET['go'];
if(is_file("page/$go.php")) include "page/$go.php";
else echo "<br />Nie ma takiej strony.";
}
else include "page/8.php";