繁体   English   中英

注意:Xampp中的未定义索引。 我该如何解决?

[英]Notice: Undefined Index in Xampp. How do I fix this?

在您问之前,是的,在提出这个问题之前,我已经搜索了SO上近20个不同的“未定义索引”问题。 可悲的是,他们甚至都没有给我提供解决问题的线索。 我有一个简单的index.php文件,它可以根据您按的链接来切换不同的html文件。 在实时服务器上,这似乎没有问题,但是当我使用Xampp时,会收到一长串“未定义索引”,我不知道为什么。 我的Index.php文件在下面。 未定义索引消息指出“每行中未定义索引rv”。

<?php
include ("anime_header.html");

if($_GET['rv'] == "amnesia")         include ("Amnesia.html");
else if($_GET['rv'] == "shingeki")   include ("AttackOnTitan.html");
else if($_GET['rv'] == "chuunibyou") include ("Chuunibyou.html");
else if($_GET['rv'] == "crimeedge")  include ("CrimeEdge.html");
else if($_GET['rv'] == "datealive")  include ("DateALive.html");
else if($_GET['rv'] == "duskmaiden") include ("DuskMaiden.html");
else if($_GET['rv'] == "gargantia")  include ("Gargantia.html");
else if($_GET['rv'] == "K_anime")    include ("K_Anime.html");
else if($_GET['rv'] == "karneval")   include ("Karneval.html");
else if($_GET['rv'] == "kotoura")    include ("Kotoura-San.html");
else if($_GET['rv'] == "kaibutsu")   include ("LittleMonster.html");
else if($_GET['rv'] == "nerawareta") include ("Nerewareta.html");
else if($_GET['rv'] == "redgarden")  include ("RedGarden.html");
else if($_GET['rv'] == "saikano")    include ("Saikano.html");
else if($_GET['rv'] == "sakurasou")  include ("Sakurasou.html");
else if($_GET['rv'] == "sasamisan")  include ("Sasami-San.html");
else if($_GET['rv'] == "vividred")   include ("Vividred.html");
else include ("animereviews.html");

include ("ReviewFooter.html");
?>

我不是在寻找抑制错误消息的方法,而是在理解为什么它仅出现在我的Xampp服务器上以及以后如何解决。

当您尝试访问数组中不存在的键时,将出现该错误。 例如,让我们做一个简单的数组:

$myarr = array(
    'a' => 5
);

如果您尝试访问“ a”键,它将运行无任何错误:

if ($myarr['a'] == 5){
    echo 'Perfect!';
}

但是,如果您尝试访问尚未设置的密钥,则会发生“未定义索引”错误:

if ($myarr['b'] == 6){
    echo 'The previous line should cause an error.';
}

为了解决此问题,请在访问它之前确保“ rv”键存在。 确保设置键的最常用功能是isset

if(!isset($_GET['rv'])){
    echo 'Oops, it seems like that key is not set!';
    exit;
}

检查是否设置了$ _GET ['rv']

<?php
$rv = $_GET['rv'];
if(isset($rv)){
    include ("anime_header.html");

    if($rv == "amnesia")         include ("Amnesia.html");
    else if($rv == "shingeki")   include ("AttackOnTitan.html");
    else if($rv == "chuunibyou") include ("Chuunibyou.html");
    else if($rv == "crimeedge")  include ("CrimeEdge.html");
    else if($rv == "datealive")  include ("DateALive.html");
    else if($rv == "duskmaiden") include ("DuskMaiden.html");
    else if($rv == "gargantia")  include ("Gargantia.html");
    else if($rv == "K_anime")    include ("K_Anime.html");
    else if($rv == "karneval")   include ("Karneval.html");
    else if($rv == "kotoura")    include ("Kotoura-San.html");
    else if($rv == "kaibutsu")   include ("LittleMonster.html");
    else if($rv == "nerawareta") include ("Nerewareta.html");
    else if($rv == "redgarden")  include ("RedGarden.html");
    else if($rv == "saikano")    include ("Saikano.html");
    else if($rv == "sakurasou")  include ("Sakurasou.html");
    else if($rv == "sasamisan")  include ("Sasami-San.html");
    else if($rv == "vividred")   include ("Vividred.html");
    else include ("animereviews.html");

    include ("ReviewFooter.html");
}
?>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM