2013-10-05 44 views
0

我是新來的,所以請耐心等待。我覺得setcookie不起作用

我有這樣的代碼:

<?php 
include('connectDb.php'); 
$code = $conn->real_escape_string(utf8_encode(md5($_POST['code']))); 
$result = $conn->query("SELECT * FROM login WHERE prs = '".$code."'") 
     or trigger_error($conn->error); 
$row = $result->fetch_array(MYSQL_ASSOC); 
if($result->num_rows < 1){ 
    echo 'wrong'; 
}else{ 
    session_start(); 
    session_destroy($_SESSION['continue']); 
    session_unset($_SESSION['continue']); 
    if(isset($_SESSION['cookie'])){ 
     setcookie("user", $row["usr"], 15778516381168); 
    }else{ 
     $_SESSION['logIn'] = $row['usr']; 
    } 
} 

一切正常,除了它不會創建的cookie。 隨時提問,因爲我不知道該告訴你什麼。

+0

Expire值太大。使用time()+ 60 * 60 * 24 * 14作爲過期值或使用最大數字的時間戳13. – Subin

+0

您的時間戳太大了一個數量級。它最多應該有13位數字。你的14歲哦,14秒太晚了。 – asafreedman

回答

1
session_start(); 

必須是您在PHP頁面中的第一件事,否則它將無法工作。

+0

幾乎:[_「要使用基於cookie的會話,必須在向瀏覽器輸出任何內容之前調用session_start()** **」_](http://php.net/manual/en/function.session-start .PHP)。 – CodeCaster

+0

是的,應該以更專業的方式進行,但通常這是最簡單的方法,OP現在肯定會得到重點。 – Jonast92

+0

但在'session_start()'或'setcookie()'調用之前沒有任何回顯,所以這不會解決問題。 – CodeCaster