当有人试图登录时,我试图显示状态消息。我遇到的问题是:
- 在我检查登录后,它不匹配,它输出
$loginStatusMessage == "doesn't match"
,但不在HTML中(我希望如此,因为它被CSS样式标签包裹) - 相反,HTML
$loginStatusMessage
即使在变量更新后也会回显"欢迎"
我猜这是因为在表单调用自己来运行PHP之后,它会重新加载带有welcome?如何使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'>
声明变量
$loginStatusMessage;
然后在您的代码中,如果验证"匹配",则
$loginStatusMessage="Welcome";
如果不是
$loginStatusMessage="Doesn't match";
现在,在这个部分中,你必须打印变量,这样做:
<p class='loginMsg'><?php
if($loginStatusMessage!=null){
echo $loginStatusMessage;
}
?></p>
希望它能帮助
我在记事本++和examplep中做了一些实验,我认为这对你来说是
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();