isset PHP5是否兼性
为什么我们在这里使用isset PHP5是否兼性,php,Php,为什么我们在这里使用isset和!空的? 是否必须使用它,因为isset检查变量是否已设置,并且$\u POST是已设置的超全局变量 <?php include 'Config.php'; $email = ""; $mdp = ""; $e = array(); if(isset($_POST)) { if(!empty($_POST)) { $email = $_POST['adresse_em
isset
和!空的
?是否必须使用它,因为isset检查变量是否已设置,并且
$\u POST
是已设置的超全局变量
<?php
include 'Config.php';
$email = "";
$mdp = "";
$e = array();
if(isset($_POST))
{
if(!empty($_POST))
{
$email = $_POST['adresse_email'];
$mdp = $_POST['motpasse'];
...
isset()
检查变量是否存在,但不检查其内容
稍后使用empty()
检查它是否为空字符串
在本例中,由于$\u POST
是一个数组,并且您没有说明从哪个位置拾取值,empty()
将检查数组是否包含任何位置
正如秘书长在评论中提到的那样,这两项核查毫无意义。您只需检查脚本的请求方法是否为POST
在您的示例中,isset()
用于检查是否设置了$\u POST
超全局变量,但它是冗余代码empty()
已经包含了isset()的功能,但也做了更多。从文件中:
如果var存在且具有非空、非零值,则返回FALSE。
否则返回TRUE
以下内容被认为是空的:
"" (an empty string)
0 (0 as an integer)
0.0 (0 as a float)
"0" (0 as a string)
NULL
FALSE
array() (an empty array)
$var; (a variable declared, but without a value)
。。。因此,它还将检查$\u POST数组中是否包含元素(不是空数组)
对于简单的web表单检查,请使用!空($\u POST)
比写$\u服务器['REQUEST\u METHOD']=='POST'
更容易,但结果是一样的,如果请求不是通过POST发出的,它们都不会匹配
另外,在代码中,如果未定义索引(如果元素未以表单形式提交),还可以在$\u POST元素上使用isset()
,以排除PHP发出的警告:
这两个ifs都是无用的,您可以使用if($\u SERVER['REQUEST\u METHOD']=='POST'){
来知道这是POST-rquest。请参阅此qiestion并给出答案:isset()检查变量是否存在,我们知道存在$\u POST,那么为什么我们使用isset?这是我的问题,您没有。这是没有用的。除非您所在的页面不是来自表单提交。
"" (an empty string)
0 (0 as an integer)
0.0 (0 as a float)
"0" (0 as a string)
NULL
FALSE
array() (an empty array)
$var; (a variable declared, but without a value)
$email = isset($_POST['adresse_email']) ? $_POST['adresse_email'] : '';
$mdp = isset($_POST['motpasse']) ? $_POST['motpasse'] : '';