2017-02-08 165 views
0

我的問題是,當密碼和用戶名正確時,不顯示消息。然後我的網頁繼續foredeck.php。這部分很好,但爲什麼我的消息在更改網頁之前沒有顯示?如果密碼或unsername不正確,則會顯示第二條消息。我遇到了第一個問題: echo「alert('ConnexionRéussite')」;消息不顯示

<?php 
    $msg = ''; 

    if (isset($_POST['login']) && !empty($_POST['username']) 
     && !empty($_POST['password'])) { 

     if ($_POST['username'] == 'foredeck' && 
      $_POST['password'] == 'foredeck1') { 
      $_SESSION['valid'] = true; 
      $_SESSION['timeout'] = time(); 
      $_SESSION['username'] = 'tutorialspoint'; 
       $msg ='Connexion Réussite'; 
      echo $msg= "<script type='text/javascript'>alert($msg)</script>"; 

     header("location: foredeck.php"); 

     }else { 
      $msg='Identifiant ou Mot de Passe incorrecte'; 
      $msg = "<script type='text/javascript'>alert('$msg')</script>"; 
     } 
    } 
?> 
+2

你從哪裏輸出'$ msg'?我沒有看到像echo $ msg這樣的東西。而且第一個回聲會被跳過,因爲你已經設置了標題重定向,使用javascript和定時器,然後重定向用戶。 – Jer

+0

我將編輯我的代碼 –

回答

1

基本上,Javascript在瀏覽器上運行,並PHP上運行服務器,所以代碼就像你期待的那樣一步一步地工作。這裏的PHP代碼在JavaScript代碼之前運行,這是在JS代碼運行之前您將被重定向的原因。

  • 刪除頁眉(location: foredeck.php):

    你可以解決這個問題。

  • 並把window.location = 'foredeck.php';放在javascript中。

這將使您的警報工作,然後將其重定向到foredeck。

+0

有人已經解決了這個問題,但thx爲你提供幫助。 –

0

問題是因爲header()會立即執行重定向。使用像這樣的計時器刷新標題:

header("refresh:5; url=wherever.php"); 

我希望這會幫助你!

+0

我確實編輯了我的帖子 –

+0

不是真的,但thx @ C0dekid –

2

PHP header(location)alert()這是JS之前執行,所以警報沒有顯示,頁面被重定向。因此,在<script>使用window.location(重定向JS代碼),而不是header(location)

<?php 
     $msg = ''; 

     if (isset($_POST['login']) && !empty($_POST['username']) 
     && !empty($_POST['password'])) { 

     if ($_POST['username'] == 'foredeck' && 
      $_POST['password'] == 'foredeck1') { 
      $_SESSION['valid'] = true; 
     $_SESSION['timeout'] = time(); 
     $_SESSION['username'] = 'tutorialspoint'; 
     echo "<script type='text/javascript'>alert('Connexion Réussite'); 
window.location.href='foredeck.php'; 
</script>"; 



     }else { 
     $msg = "<script type='text/javascript'>alert('Identifiant ou Mot de Passe incorrecte')</script>"; 
     } 
    } 
    ?> 

警報將顯示第一和按下OK時重定向..

+0

謝謝@affaz –

+0

@ A.V歡迎..祝你好運:) – affaz