2014-04-25 37 views
0

我试图显示状态消息,当有人试图登录时遇到的问题是:PHP显示登录状态信息不更新

  • 后我检查登录,并且它不” t匹配,它输出$loginStatusMessage == "doesn't match",但不在HTML(我想,因为它被包装在CSS样式标签中)。
  • 相反,即使在变量更新后,HTML $loginStatusMessage也会回应“欢迎”。

我猜这是因为在窗体调用自己运行PHP之后,它重新加载了$ loginStatusMessage,欢迎使用?我怎样才能让我在提交表单时将HTML $loginStatusMessage更改为doesn't match

我有全局变量$loginStatusMessage

$loginStatusMessage = "welcome"; 

if(isset($_POST['Submit'])) { 
    Login($username, $password); 
} 

function Login($username, $password) 
{  
    if(!checkLogin($username, $password)) 
    { 
     $loginStatusMessage = "doesn't match..."; 
     echo $loginStatusMessage; 
    } 
    else { 
     session_start(); 

这种回声输出:"doesn't match",但不是在身体


但在我的身体在HTML中,我有:

<p class='loginMsg'><?php echo $loginStatusMessage; ?></p> 

个这种回声输出:"welcome"

所以,当我提交表单,我把同一个文件:

<form id='register' action="<?php echo $_SERVER['PHP_SELF']; ?>" method='post' accept-charset='UTF-8'> 

回答

1

声明变量

$loginStatusMessage; 

然后在你的代码,如果验证“匹配“然后

$loginStatusMessage="Welcome"; 

如果不是

$loginStatusMessage="Doesn't match"; 

现在的一部分,你必须打印变量做到这一点:

<p class='loginMsg'><?php 

    if($loginStatusMessage!=null){ 
    echo $loginStatusMessage; 
    } 

    ?></p> 

希望它可以帮助

+0

这并没有解决这个问题。它现在不显示讯息 – Growler

+0

我编辑了我的答案,请尝试让我知道 – DuSant

0

我做了一些尝试在我的记事本+ +和XAMPP我认为这会为你做

if(isset($_POST['Submit'])) { 
    Login($username, $password); 
} 

function Login($username, $password) 
{  
    if(!checkLogin($username, $password)) 
    { 
     $loginStatusMessage .= "doesn't match..."; 
     echo $loginStatusMessage; 
    } 
    else { 
     $loginStatusMessage .= "welcome"; 
     echo $loginStatusMessage; 
     session_start();