2014-02-25 23 views
0

我有這樣的代碼:重定向在同一頁面不起作用?

// index.php 
if(!isset($_SESSION['user']) && !isset($_SESSION['id']){  
    // My Code 
    if($ris1['pass'] == $pass)){ // it controls if the pass the user inserts is true... 
     $_SESSION['user'] = $ris1['user']; 
     $_SESSION['id'] = $ris1['id']; 
     die(header("Location: index.php")); // the same page 
    } 
} else { 
    // My Code 
} 

我插入:die(header("Location: index.php"));對重定向自動的頁面,但如果通是正確的,這樣可以節省我的會議,但是,當我將用戶重定向,用戶看到的一半如果$ _SESSION沒有被定義,但是$ _SESSION是isset,並且我看到我在else(在我的代碼中)我必須更新頁面... 我嘗試使用ob_start(),但它不起作用... 爲什麼我的頁面不會自動重定向並轉到其他位置?

+1

你在'index.php'年初開始會話? – alalp

+0

請記住,根據當前版本的HTTP/1.1標準RFC 2616,位置標頭的值必須是絕對URI ...不知道它是否是解決問題的方法,但要考慮到這一點。 – rodripf

回答

1

嘗試中止當前的代碼之前重定向:

if(!isset($_SESSION['user']) && !isset($_SESSION['id'])) {  
    // My Code 
    if($ris1['pass'] == $pass)){ // it controls if the pass the user inserts is true... 
     $_SESSION['user'] = $ris1['user']; 
     $_SESSION['id'] = $ris1['id']; 
     header("Location: index.php"); // the same page 
     die(); 
    } 
} else { 
    // My Code 
} 
+0

我嘗試了...沒有... – Carbos

相關問題