PHP警报消息

时间:2013-07-19 13:27:45

标签: php javascript database alert

我知道每个人都要说的第一件事就是已经发布了数百次;但是,我已经尝试过人们建议的所有不同的方法,但仍然没有运气......如果登录失败,我试图获得弹出的警告消息,但由于某种原因,消息不想出现。这是我到目前为止所做的:

if($conn) {
    $result=sqlsrv_query($conn, "SELECT * FROM Operator
    WHERE Username='{$_POST['login']}'");
    $pass=sqlsrv_fetch_array($result);
    if($pass["Password"] === $_POST['password']) {
        session_start();
        $_SESSION['loggedin']=true;
        header("Location: home.php");
        exit;
    }
    else {
        header("Location: login.php");
        echo '<script type="text/javascript">';
        echo 'alert("Password Invalid!")';
        echo '</script>';
    }
}
sqlsrv_close($conn);

PHP工作正常但由于某种原因我无法使javascript工作。有什么想法吗?

5 个答案:

答案 0 :(得分:3)

我想,问题出在这里。您是在警报消息之前重定向页面

header("Location: login.php"); /* Redirect browser */

尝试将其删除,或者在几秒钟后重定向,例如

header( "refresh:5;url=login.php" ); //redirect after 5 seconds

或者您提示用户单击以转到下一页的对话框。删除标题()tho

<script type="text/javascript">
<!--
   var retVal = confirm("Login FAILED! Do you want to continue ?");
   if( retVal == true ){
      window.location.href = "login.php";
      return true;
   }else{
      alert("User does not want to continue!");
      return false;
   }
//-->
</script>

答案 1 :(得分:1)

在你的代码header("Location: login.php");中有你的js代码,所以它从不执行js代码,它重定向到登录页面删除它并尝试。

答案 2 :(得分:1)

使用此代码

echo '<script>';
echo 'alert("Password Invalid!");';
echo 'location.href="login.php"';
echo '</script>';

而不是

header("Location: login.php");
echo '<script type="text/javascript">';
echo 'alert("Password Invalid!");';
echo '</script>';

感谢。

答案 3 :(得分:0)

标题之后的代码没有运行,可能尝试设置会话变量并在login.php中检查该变量。然后,您可以从那里调用警报,或者只是在页面上显示一条简单的消息。

答案 4 :(得分:0)

警报后面有一个缺少的分号:

if($conn) {
    $result=sqlsrv_query($conn, "SELECT * FROM Operator
    WHERE Username='{$_POST['login']}'");
    $pass=sqlsrv_fetch_array($result);
    if($pass["Password"] === $_POST['password']) {
        session_start();
        $_SESSION['loggedin']=true;
        header("Location: home.php");
        exit;
    }
    else {
        header("Location: login.php");
        echo '<script type="text/javascript">';
        echo 'alert("Password Invalid!");';
        echo '</script>';
    }
}
sqlsrv_close($conn);

你没有检查javscript控制台吗?

编辑:对不起,我的错,分号当然不是必需的。

我在我的服务器上测试你的php代码,无论如何它都运行良好!