如何在php中的头之前用Javascript内容执行echo

时间:2014-04-26 02:26:21

标签: php

这是我的代码:

    ob_start();

    echo"<script type='text/javascript'>alert('Wrong username or password Please try again')</script>";
                header("Location:http://localhost/xampp/my_hospital/login.php");
ob_end_flush();

此代码位于一个名为login_check.php的单独文件中。我想要弹出警报,然后它应该重定向到login.php。问题是警报没有显示但重定向有效。

3 个答案:

答案 0 :(得分:0)

试试这个:

echo "<script type='text/javascript'>
        alert('Wrong username or password Please try again');
        location = 'http://localhost/xampp/my_hospital/login.php';
      </script>";

答案 1 :(得分:0)

在使用header()

之前,您无法回显或输出任何字符(即使是空格)

发送/修改HTTP标头的函数必须在输出之前调用 。否则呼叫失败:

  

警告:无法修改标头信息 - 已发送的标头   (输出从文件:行开始)

改为使用meta refresh

 <html xmlns="http://www.w3.org/1999/xhtml">    
  <head>      
    <title>The Tudors</title>      
    <meta http-equiv="refresh" content="5;URL='http://yoursite.tld/loginpage'" />    
  </head>    
  <body> 
    <p>Wrong username or password Please try again</p> 
  </body>  
</html>    

您还可以使用ob_start()

<?php
ob_start();
echo "<script type='text/javascript'>alert('Wrong username or password Please try again');";
header("Refresh: 5; http://yoursite.tld/loginpage");
ob_end_flush();
?>

答案 2 :(得分:0)

以下方法在重定向用户之前等待10秒钟。

ob_start();

header("Refresh: 10; url=/xampp/my_hospital/login.php");
echo"<script type='text/javascript'>alert('Wrong username or password Please try again');</script>"; 

ob_end_flush();