Rumah >pembangunan bahagian belakang >tutorial php >有关于isset和empty的问题?

有关于isset和empty的问题?

WBOY
WBOYasal
2016-10-20 10:08:51845semak imbas

最近在看session的问题,需要判断用户是否登录,我发现以下2种方法都可以成功判断是否登录的问题。
代码如下:

<code>第一种:
if(empty($_SESSION)){

    echo '您还未登录,请<a href="login.php">登录</a><p>';

}else{

    echo '欢迎'.$_SESSION['uname'].' 这里是主页 ';

    echo '<a href="quit.php">退出</a></p>
<p>';
}

第二种:
if(!isset($_SESSION['uname'])){

    echo '您还未登录,请<a href="login.php">登录</a></p>
<p>';

}else{

    echo '欢迎'.$_SESSION['uname'].' 这里是主页 ';

    echo '<a href="quit.php">退出</a></p>
<p>';
}

</p></code>

问题:在第二个判断语句中,如果只写$_SESSION而不是$_SESSION['uname']的话,会报错,而使用第一种方法的话,empty后边的括号内无论是$_SESSION['uname']还是$_SESSION都没问题,请问是什么原因呢?两种方法哪一种会更好一点?或者说是更安全一点?谢谢

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn