我试图在有人尝试登录时显示状态消息。我遇到的问题是:
- 在我检查登录后发现它不匹配,它输出
$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();
此回显输出: “不匹配”
,但不在正文的 HTML 中
但在我的 body 里,我有:
<p class='loginMsg'><?php echo $loginStatusMessage; ?></p>
此回显输出: "welcome"
所以当我提交表单时,我调用同一个文件:
<form id='register' action="<?php echo $_SERVER['PHP_SELF']; ?>" method='post' accept-charset='UTF-8'>
最佳答案
声明变量
$loginStatusMessage;
然后在您的代码中,如果验证“匹配”则
$loginStatusMessage="Welcome";
如果不是
$loginStatusMessage="Doesn't match";
现在在您必须打印变量的部分执行此操作:
<p class='loginMsg'><?php
if($loginStatusMessage!=null){
echo $loginStatusMessage;
}
?></p>
希望对你有帮助
关于javascript - php显示登录状态消息不更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23304600/