2011-11-15 84 views
0

我有这样的代码:PHP和get方法错误

<?php 
if ($_GET["do"]=="success") { 
    echo "SUCCESS"; 
} 
?> 

<form action="file.php?do=success" method="post"> 
<input type="text"><input type="submit"> 
</form> 

而且我得到这个错误:

Notice: Undefined index: do in C:\Program Files\EasyPHP-5.3.8.1\www\m\file.php on line 2

什么我需要做什么?

+0

你可能想瞄了一眼[PHP的error_reporting(HTTP:/ /php.net/manual/en/function.error-reporting.php) – budwiser

+1

@budwiser:是不是已报告的错误?还是你建议压制这些错误并假装它从未发生过? :P – PeeHaa

+0

@budwiser鉴于OP看到了'E_NOTICE'错误,我想说他已经掌握了它 – Phil

回答

3

您需要检查,如果该指数试图访问它之前存在:

<?php 
if (isset($_GET["do"]) && $_GET["do"] == "success") { 
    echo "SUCCESS"; 
} 
?> 

<form action="file.php?do=success" method="post"> 
<input type="text"><input type="submit"> 
</form> 
1

试试这个:

<?php 
if (!empty($_GET['do']) && $_GET["do"]=="success") { 
    echo "SUCCESS"; 
} 
?> 

<form action="file.php?do=success" method="get"> 
<input type="text"><input type="submit"> 
</form> 
+0

谢谢!!这是有帮助的 – gordon33

+0

@RobertasPalinskis使用isset()而不是empty()。 empty不检查是否设置了该值,并在未设置的值上返回错误。 null不是“未设置”; –

+0

@UğurGümüşhan这是不正确的。 empty()确实测试了对象的存在。查看示例1A或在代码中对其进行测试:http://php.net/manual/en/function.empty.php –