2014-04-26 34 views
0

頭之前執行的Java腳本內容的回聲這是我的代碼:如何在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.I一個單獨的文件希望告警彈出,然後它應該重定向到login.php。問題是警報不顯示,但重定向工作。

+1

在php中使用'header()'將在任何HTML/JS呈現給客戶端之前重定向用戶。重定向也需要通過'window.location'或類似的東西存在於JavaScript中。 – Sean3z

+0

爲什麼不在會話中存儲消息,重定向登錄失敗並在login.php中顯示消息? –

回答

0

試試這個:

echo "<script type='text/javascript'> 
     alert('Wrong username or password Please try again'); 
     location = 'http://localhost/xampp/my_hospital/login.php'; 
     </script>"; 
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(); 
?> 
+0

檢查這個http://stackoverflow.com/questions/3766353/interview-question-can-we-have-an-echo-before-header – user1613360

+0

看看這一個:http://stackoverflow.com/questions/8028957/如何對修復 - 標題 - 已發送錯誤功能於PHP?answertab =#活躍製表頂部 –

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();