Php 使用$POST的if和$\会话

Php 使用$POST的if和$\会话,php,parameters,Php,Parameters,我确信这是一个新手问题,但我在$\u POST密码参数中得到了未定义的索引 if ($_SESSION['Password'] == $_POST['Password']){ echo 'Hi 2 '.$_SESSION['Password'].'<br>'; } 是否两个变量不能使用相同的参数 首先,您应该了解什么是会话和POST变量。 SESSION用于存储会话变量,该变量可在整个会话期间从任何PHP文档访问。POST用于获取通过POST方法发送的任何变量 在第一个代码段

我确信这是一个新手问题,但我在
$\u POST
密码参数中得到了未定义的索引

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

是否两个变量不能使用相同的参数

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

在第一个代码段中,您将检查天气 会话['Password']==POST['Password'] 您没有通过post方法提供任何值,并且post变量“Password”没有在您的程序中定义,这就是为什么您会得到一个未定义的错误

所以,为了克服这一点,最好的方法是使用isset函数检查这两个变量是否都定义了

if(isset($_SESSION['Password']) && isset($_POST['Password'])){
    if ($_SESSION['Password'] == $_POST['Password']){
        echo 'Hi 2 '.$_SESSION['Password'].'<br>';
    }
}
if(isset($\u SESSION['Password'])和&isset($\u POST['Password'])){
如果($\u会话['Password']=$\u POST['Password'])){
回显“Hi 2”。$\u会话['Password']。
; } }
通过正确的语句为POST['Password']提供值,那么代码就可以工作了。 我认为您知道如何设置会话变量的值,因为您正在比较会话变量和POST变量


检查您的输入名称属性在HTML代码中设置为
Password
。首先,您应该了解什么是会话和POST变量。会话用于存储会话变量,该变量可在整个会话期间从任何php文档访问。POST用于获取通过POST方法发送的任何变量。在第一个代码段中,您正在检查会话['password']==POST['password'],并且您没有通过POST方法提供任何值,这就是为什么会出现未定义的错误。因此,为了克服这一点,最好的方法是检查天气是否都是使用isset函数定义的变量。您的
如何发布
数据!显示您的表单html。此外,会话将在发送密码后存储,所以应该检查数据库中的密码!!嗯,不知道如何在这里发布代码。为了检查我的代码是否正确,我将if($\u SESSION['Password']=$\u POST['Password'])替换为if(!empty($\u POST['Password']),然后替换为if(!empty($\u SESSION['Password']),两者都返回了正确的值。一旦它们组合并进行比较,就会崩溃。为什么要在会话中存储密码?是的。但是您必须传递post变量的值并设置会话变量if的值(isset($\u session['Password'])和&isset($\u post['Password']){//在if语句中工作并进行回显。if($\u session['Password']=$\u post['Password']){//没有,并且给出了未定义的索引。我可以发布整个代码吗?它不长,只是一个测试程序。@marsheng是的,你确定吗can@marsheng请提供完整的代码,然后我们将很容易调试。
if(isset($_SESSION['Password']) && isset($_POST['Password'])){
    if ($_SESSION['Password'] == $_POST['Password']){
        echo 'Hi 2 '.$_SESSION['Password'].'<br>';
    }
}