2009-12-10 531 views
1
   session_start(); 
      $_SESSION['fname']=$row['fname']; 
     $_SESSION['user']=$row['name']; 
     $_SESSION['adpoint'] = $row['adpoint']; 
     $_SESSION['phone']=$row['phone']; 
     $_SESSION['id'] = $row['id']; 
     $_SESSION['rememberMe'] = $_POST['rememberMe']; 

     // Store some data in the session 

     setcookie('smsapp',$_POST['rememberMe']); 
     echo "your name"." ".$_SESSION['user']; 

     Print_r ($_SESSION); 
    header("Location: http://www.niktrixhosting.com/login/user/index.php"); 

此代碼中的標題(「Location:http://www.niktrixhosting.com/login/user/index.php」); 這行不會重定向它頁面不重定向

請注意提及任何其他重定向頁面的函數。

回答

0

嘗試

echo "<script>window.location=\"http://www.niktrixhosting.com/login/user/index.php\"</script>"; 

代替:

header("Location: http://www.niktrixhosting.com/login/user/index.php"); 
+0

爲什麼在使用Javascript時只能修復錯誤? – 2009-12-10 07:22:35

+0

因此,他想要發生的事情是有效的。即使他在重定向之前回應或顯示某些內容 – Treby 2009-12-10 07:24:00

+0

@terby謝謝我只是在尋找替代方案。 – nicky 2009-12-10 07:54:35

2

您正在嘗試在發送它們之後設置標頭。註釋掉echo "your name"." ".$_SESSION['user'];一行,一切都會起作用。

說明:標題總是首先發送(這就是爲什麼他們被稱爲標題)。當您撥打echo時,會發送部分頁面,但如果未設置標題,則會先發送。代碼中發生的事情是,echo行將發送標題,然後在標題已經發送之後嘗試設置它們(這不起作用)。

+0

在刪除標題前的回聲後,它的工作原理 – nicky 2009-12-10 07:53:57

4

您不能echoprint_r或在功能header之前給出任何其他輸出。

2

標題應在任何輸出之前發送,因此在標題之前帶有echoprint_r的任何語句都將導致錯誤。

0

你是不是用頭前回聲/打印輸出/輸出任何東西()。那會真的影響你的PHP頁面。