在一個php程序開頭部分代碼如下:
<?php
session_start();
header("Content-type: text/html; charset=utf-8");
include("inc/conn.php");
if($_SESSION['u_id']==""){
echo "alert('請登錄後再使用!');";
//因為下面的header語句,使得上面的script語句不能正常輸出。
$from="http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
header("location:u_login.php?from=".$from);
}
?>
正如上面注釋部分說的,因為header語句的存在,運行該程序時,沒有彈窗提示“請登錄後再使用”,而是直接跳轉到了u_login.php。
而如果沒有header語句,就有彈窗提示。我希望的結果是運行該頁面時,如果沒登錄,則彈窗提示一下,然後轉到登錄頁面,登錄後再進入到該頁面進行操作。雖說沒有彈窗那一步也可以,可是為了更好的起到提醒用戶session超時這一環節,應該做一個彈窗提示的,有沒有好的辦法?
注意:我希望就在一個php腳本語言裡寫完這些代碼,望高手給予解答,我在這裡謝謝你了。
去掉
header("location:u_login.php?from=".$from);
echo "alert('請登錄後再使用!');window.location.href=u_login.php?from=" .$from;";