这里有两种情况。
- 用户输入一个空输入。在这种情况下,登录页面将警告用户他输入了一个空输入。
- 用户输入了错误的用户名或密码。在这种情况下,登录页面会警告用户输入了错误的用户名或密码。
在这两种情况下,输入处理都将在服务器(PHP)上完成。我的问题是,如何动态修改登录页面以显示警告消息?
我尝试将 PHP 布尔值传递给登录页面中的 javascript 变量,但经过一些研究,我发现您不能混合使用 Javascript 和 PHP 代码。代码如下:
function error_msg()
{
<?php session_start();?>
var failed_login= <?php echo $_SESSION['failed_login'];?>;
var empty_field= <?php echo $_SESSION['empty_field'];?>;
var txt=document.getElementById("failed_login_text");
if (empty_field== 1)
{
txt.innerHTML="No empty fields allowed.";
<?php unset($_SESSION['empty_field']);?>
}
else if (failed_login== 1)
{
txt.innerHTML="Failed login. Wrong username or password.";
<?php unset($_SESSION['failed_login']);?>
}
<?php session_destroy();?>
}
我使用的另一种方法是使用 PHP 将整个 Javascript 回显到 login.php 中。此 PHP 代码位于登录页面文件中。
<?php
session_start();
$failed_login= $_SESSION['failed_login'];
$empty_field= $_SESSION['empty_field'];
echo $_SESSION["empty_field"];
echo $_SESSION["failed_login"];
$script="<script>
var empty_field= $empty_field;
var failed_login= $failed_login;
var txt=document.getElementById(\"failed_login_text\");
txt.innerHTML= empty_field;
if (empty_field== 1)
{
txt.innerHTML=\"No empty fields allowed.\";
}
else if (failed_login== 1)
{
txt.innerHTML=\"Failed login. Wrong username or password.\";
}</script>";
echo $script;
unset($_SESSION['empty_field']);
unset($_SESSION['failed_login']);
?>
我做错了什么?