2013-09-25 62 views
0

我想設置一個cookie記住用戶(爲期3天),使他們不必登錄到他們關閉瀏覽器的網站每次。記住用戶數天 - 餅乾

我已經試過如下:

<?php 
if(isset($_POST["logind_ok_tjek"])) 
{ 
    if ($stmt = $this->mysqli->prepare("SELECT `id`, `rank_hold`, `navn`, `efternavn`, `email_indhold`, `adgangskode`, `rank`, `img` FROM `bruger` WHERE `email_indhold` = ? or tlf = ? AND `adgangskode` = ?")) 
    { 
     $stmt->bind_param('sss', $email_indhold, $tlf, $adgangskode); 
     $email_indhold = $_POST["email"]; 
     $tlf = $_POST["email"]; 
     $adgangskode = sha1($_POST["pass"]); 


     $stmt->execute(); 
     $stmt->store_result(); 
     $stmt->bind_result($id, $rank_hold, $navn, $efternavn, $email_indhold, $adgangskode, $rank, $img); 
     $stmt->fetch(); 
     $count = $stmt->num_rows; 
     $stmt->close(); 

     if($count > 0) 
     { 
      $_SESSION["logged_in"] = true; 
      $_SESSION["id"] = $id; 
      $_seesion["rank_hold"] = $rank_hold; 
      $_SESSION["navn"] = $navn . " " . $efternavn; 
      $_SESSION["rank"] = $rank; 
      $_SESSION["img"] = $img; 
      $_SESSION["mail"] = $email_indhold; 

      setcookie("Navn", $navn . " " . $efternavn, time()+3600); 
      setcookie("indhold", $rank_hold, time()+3600); 


       if($_SESSION["logged_in"] == true) 
       { 
        if ($stmt = $this->mysqli->prepare('UPDATE `bruger` SET `online_sidste`=? WHERE `id`=?')) { 
         $stmt->bind_param('si', $online_sidste, $id); 
         $online_sidste = date('Y-m-d H:i:s'); 
         $id = $_SESSION["id"]; 
         $stmt->execute(); 
         echo "Log ind nu!!"; 
         $stmt->close(); 

        } else { 
         echo 'Der opstod en fejl i erklæringen: ' . $mysqli->error; 
        }      
       } 
       else 
       { 
        echo "Fejl..";  
       } 
     } 
     else 
     { 
      echo "Forkert Email eller password."; 
     } 
    } 
    } 
    ?> 

要訪問的cookie,我使用:

<?php 
     echo $_COOKIE["Navn"]; 
     ?> 

這不但是工作,...

+0

時間+ 3600 .. 3600是在多少秒內存儲的cookie。 3600 =一個小時。 – skrilled

+0

PHP日誌中是否有任何錯誤? –

+0

而不是錯誤的餅乾,@JustinWood –

回答

0

//集即在72小時內到期一個cookie,你可以用這個

setcookie("Navn", $navn . " " . $efternavn, time()+3600*72); 
setcookie("indhold", $rank_hold, time()+3600*72); 
嘗試

setcookie函數expire參數以秒爲單位的值。 time()將輸出電流unix_timestamp,然後添加3600 * 72(3600秒* 72小時),其等效於3天(以秒計)。

+0

感謝您的幫助,:)現在我只是這樣做,它出現在頁面上。 –

+0

如果我說print_r($ _ COOKIE);這樣一來 「**陣列([PHPSESSID] => 3eef1591bb0deb8a513961360f2b1e69 [_ga] => GA1.2.1139435237.1379009588)**」,所以這個誤差來她的 –