未定义使用$ _GET时的变量,即使url字符串中包含varialbe也是如此

时间:2018-03-02 00:37:16

标签: php

编辑:问题最终是因为我试图重新提交到同一页面。如果您遇到同样的问题,请在此处查看Jeromes解决方案。

if( isset( $_GET["fil"]) ){
    print "hi";
    $test = $_GET["fil"];
    print $test;
}
?>
<form action='prob1handlerFilter.php' method='GET'>
<h1>Filter These Results</h1>
  <select name='fil' id='fil'>
    <?php
    $SCORE = $_SESSION["players"]; 
    $uniqueDates = array_values(array_unique($_SESSION["players"]));
    sort($uniqueDates);
    $x = 0;
        while($x < count($uniqueDates))
        {
            print "<option value = '$uniqueDates[$x]'> $uniqueDates[$x]          </option>";
            $x = $x + 1;
        }
    ?>

你好,所以上面是我的代码。问题是,尽管我可以在URL字符串中看到fil肯定是设置(http://127.0.0.1:8080/webserver1/prob1/prob1handlerFilter.php?fil=2012),但它告诉我它是未定义的。如果我将if语句更改为!isset,它将通过并打印“hi”,但没有别的。这只会让我感到困惑,因为我可以直接看到URL字符串中的变量,而我的所有其他形式都在工作,而不是这一个....我完全不知道为什么它告诉我它是未定义的。完整错误是

注意:未定义的索引:在第70行的C:\ xampp \ htdocs \ webserver1 \ prob1 \ prob1handler.php中填充。但显然它没有未定义,因为它位于URL字符串中......

1 个答案:

答案 0 :(得分:1)

您可以尝试将表单操作值更改为

 "<?php echo $_SERVER['PHP_SELF'];?>"