這真是令人困惑。我有兩個頁面,A & B.兩者都使用下面的代碼:Cookie未被設置,但其餘代碼正在執行?
$row = mysqli_fetch_array($data);
$_SESSION['user_id'] = $row['user_id'];
$_SESSION['username'] = $row['username'];
setcookie('user_id', $row['user_id'], time() + (60 * 60 * 24 * 30)); // expires in 30 days
setcookie('username', $row['username'], time() + (60 * 60 * 24 * 30)); // expires in 30 days
$home_url = 'http://' . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']) . '/main.php';
header('Location: ' . $home_url);
A將標題的設置(您輕鬆刪除)後執行的代碼,然後設置標題; B將在設置標題後執行代碼並且不設置標題。
我已經檢出了NUMEROUS個答案,並且沒有空白,main.php文件設置爲正常,A & B文件看起來完全相同,但是在IF語句被刪除之前有不同的內容。
沒有錯誤出現;重定向(它應該有標題設置並作出相應的反應,就好像你在B上註銷了一樣(因此沒有標題活動),而在A上它按預期出現)
設置cookie的兩個代碼塊(都在IF聲明中)是IF語句是不同的,根據代碼出現之前的代碼
什麼(如果有的話)的東西我應該注意的代碼之間的區別A & B ?
(PS:我也知道頭文件沒有被設置,因爲會話沒有啓動,通過在代碼末尾放置一個IF $ _SESSION ...
你需要使用session_start();見http://www.tizag.com/phpT/phpsessions.php –