if和$ _SESSION与$ POST

时间:2017-07-10 01:46:04

标签: php parameters

我确定这是一个菜鸟问题,但我在$_POST密码参数中得到了未定义的索引。

if ($_SESSION['Password'] == $_POST['Password']){
   echo 'Hi 2 '.$_SESSION['Password'].'<br>';
}

如果我使用$_SESSION$_POST进行以下操作,我会得到正确的回音线。

if (!empty($_SESSION['Password'])){                     
    echo 'Hi 2 '.$_SESSION['Password'].'<br>';               
}

两个变量都不能使用相同的参数吗?

1 个答案:

答案 0 :(得分:0)

首先你应该了解什么是SESSION和POST变量 SESSION 用于存储会话变量,可以从任何PHP文档中访问整个会话。
POST 用于获取通过帖子发送的任何变量方法。

  

在第一个代码片段中,您正在查看天气   会话[&#39;密码&#39;] ==发布[&#39;密码&#39;]   并且您没有通过邮寄方法和帖子变量&#39;密码&#39;提供任何价值。在你的程序中没有定义为什么你得到一个未定义的错误。

因此,最好的方法是使用isset函数检查变量已定义与否的天气。

if(isset($_SESSION['Password']) && isset($_POST['Password'])){
    if ($_SESSION['Password'] == $_POST['Password']){
        echo 'Hi 2 '.$_SESSION['Password'].'<br>';
    }
}
  

通过正确的声明提供POST [&#39;密码&#39;]的值,然后代码就可以了。   我想您知道如何为SESSION变量设置值,因为您正在将SESSION变量与POST变量进行比较。