2014-09-12 62 views
0

我想檢查用戶是否沒有登錄,然後他不能訪問病人儀表板頁面,並重定向到index.php那工作正常,但當我添加一個警報的javascript在病人儀表板頁面,我重定向用戶index.php如果沒有登錄,那麼它將首先顯示警報框,然後它會去索引頁那些不工作...請幫助..重定向到索引頁,但不工作的JavaScript警報

patient- dashboard.php

if(!isset($_SESSION['username'])) { 
     echo "<script type='text/javascript'>"; 
     echo "alert('Login First');"; 
     echo "</script>"; 

     header('Location: index.php'); 

    } 

回答

0

您必須先發送標頭。該腳本阻止標題工作。重定向到信息頁面而不是使用腳本,並使用元刷新將它們帶回索引。

信息頁面只是一個普通的HTML頁面,表示「您必須登錄」。你可以像這樣回到索引頁面: <meta http-equiv="refresh" content="5;URL=http://www.exmaple.com/index/.html"> 「5」是五秒鐘。你可能只需要在URL中輸入index.html;我沒有測試過。

0
if(!isset($_SESSION['username'])) { 
     echo '<script type="text/javascript">;alert("Login First");window.location = "index.php";</script>'; 

    } 
0

試試這個,你不需要在不同的回聲中有不同的警報部分,而且標題重定向現在在警報之前。

**編輯**此刷新方式工作作爲重定向並給出警報

<?php 

$var1 = 1; 
$var2 = 2; 

if($var1 < $var2) { 
    header("Refresh:1; url=index.php"); 
    echo "<script type='text/javascript'>alert('Login First')</script>"; 

}else{ 
    echo "<script type='text/javascript'>alert('Logged In')</script>"; 
} 
?> 
+0

警報不工作我這樣做已經... – shani 2014-09-12 14:03:38

+0

@shani我剛剛編輯它,並使用隨機if語句(1 <2)我得到了警報,然後重定向 – Parody 2014-09-12 14:10:42

0

嘗試

// patient-dashboard.php 
if (!isset($_SESSION['username'])) { 
    $_SESSION['login_failed'] = 1; 
    header('Location: ./index.php'); 
    exit; // eliminate errors and prevent the user from going any further 
} 


// index.php 
if (isset($_SESSION['login_failed'])) { 
    unset($_SESSION['login_failed']; 
    die("Login First"); 
} 

或者

// patient-dashboard.php 
if (!isset($_SESSION['username'])) { 
    die("<script type='text/javascript'>alert('Login First'); location.href = './index.php';</script>"); 
}