php中的undefined index(给我注意)

时间:2013-01-07 23:46:56

标签: php

  

可能重复:
  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'];

有任何帮助吗?这很烦人。

3 个答案:

答案 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";