使用 PHP,我无法在用户登录时显示警告消息

Using PHP, I am unable to get an Alert message to appear when a user logs in

此 PHP 函数在用户成功通过身份验证时执行,当他们登录时,他们将被带到页面 index.php。也许我应该将警告消息放在 index.php 本身而不是执行登录的同一个 php 脚本文档中?

我刚刚注意到我的成功会话变量,这使得消息本身有点多余,但无论如何都没有显示警报。

elseif ($result > 0)
{
        $_SESSION ['username'] = $username;
        $_SESSION ['permission'] = $permission;
        $_SESSION ['success'] = "You are now logged in";
    if ($permission == 3){
    echo '<script>alert("Welcome Admin!")</script>';
    }
    else 
    {
        echo '<script>alert("Welcome User!")</script>';
    }
        header ("location: index.php");
        exit();
    }

更新:

我已经实施了答案建议,但我没有正确获取权限字段,因为即使以用户“admin”登录时?user=User 也是 url。我已经包含了此文件中的其他行,以防我在其他地方犯了我没有看到的错误。

编辑:if ($permissions == 3) 缺少一个 s,URL 现在是正确的,但没有警告框。

index.php:

<?php
if (isset($_GET['username'])){
          $user = $_GET['username'];
    echo "<script>alert('Welcome ' + $user);</script>";
}
?>

submit.php

    $query = $pdo->prepare("SELECT * FROM users WHERE username = ? AND password = ? LIMIT 1");
    $query->bindParam(1, $username, PDO::PARAM_STR, 12);
    $query->bindParam(2, $password, PDO::PARAM_STR, 12);
    $query->execute();
    $result = $query->fetch(PDO::FETCH_ASSOC);

if(count((array)$result) == 0)
        {
        $_SESSION['errorMessage'] = true;
    exit();
        }
    
    elseif ($result > 0)
    {
            $permissions = $result['permissions'];
            $_SESSION ['username'] = $username;
            $_SESSION ['permissions'] = $permissions;
            if ($permission == 3) 
            {
                header ("Location:index.php?user=Admin");
            } else {
                    header ("Location:index.php?user=User");
            }

我建议将用户或管理员发送到索引页面,如下所示:

 elseif ($result > 0)
 {
        $_SESSION ['username'] = $username;
        $_SESSION ['permission'] = $permission;
        $_SESSION ['success'] = "You are now logged in";
    if ($permission == 3){
        header ("location: index.php?user=Admin");
    }else {
        header ("location: index.php?user=User");
    }

因此,在您的 index.php 中,您可以获得用户变量并将其显示在警报中:

$user   = $_GET['user'];

要显示 Javascript 消息,请使用:

echo '<script language="javascript">';
echo 'alert("Welcome '. $user. '")';
echo '</script>';