以下两个函数调用如何比较以检查GET调用或POST调用是否存在变量?
if(isset($_GET['var']))
if($_GET['var'])
两者都做好了自己的工作,但有时候没有 isset()我会收到警告:
PHP注意:未定义的索引:第XX行的var
更新 这是一个$ _GET而不是$ GET。我也知道它与GET / POST无关。我正在讨论的是变量检查而不是HTTP方法。谢谢。
答案 0 :(得分:1)
$ _ GET ['']通常是从浏览器中检索出来的,所以如果您有以下内容: www.hello.com/index.php?var=hello
您可以使用:
if(isset($_GET['var'])) {
echo $_GET['var']; // would print out hello
}
使用isset()将停止未定义的索引错误,因此,如果您只有www.hello.com/index.php,那么即使没有设置var也不会看到错误。
帖子通常是在一个页面向另一个页面发布信息时,方法是相同的但使用$ _POST ['']而不是$ _GET ['']。您有表单发布信息的示例:
<form method="post" action="anotherpage.php">
<label></label>
<input type="text" name="text">
</form>
在anotherpage.php中获取信息的方式如下:
$text = isset($_POST['text']);
echo $text; // would echo what ever you input into the text field on the other page
在坚果壳中,如果没有设置名称,只需输入$ _GET [&#39; name&#39;]就会出错。 使用isset($ _ GET [&#39; name&#39;])将检查var名称在继续之前是否有任何值。
不确定这是不是你所追求的,但问题是这是我对答案的最佳猜测