2017-02-22 228 views

回答

0

setcookie()函數定義將與HTTP頭的其餘部分一起被髮送的cookie。像其他標題一樣,Cookie必須在腳本輸出之前發送(這是協議限制)。這要求您在任何輸出之前調用此函數,包括標記以及任何空格。

setcookie()函數是工作,你需要調用session_set_cookie_params()爲每個請求和之前在session_start()和其他類似setcookie()函數被調用。

+0

看起來像session_set_cookie_params()是爲服務器端和setcookie()爲客戶端。 – Shatru

+0

session_set_cookie_params()表示選擇我們用來設置cookie的參數,它可能是我們的用戶名,或者其他東西 – 2017-02-23 06:20:01

+0

設置cookie用於存在參數時使用 – 2017-02-23 06:20:51

0

我認爲,setcookie()和session_set_cookie_params()函數之間的區別可能是domain.com和sub.domain.com。

0

有兩種類型的Cookie:

會話cookie:這些都是session_set_cookie_params(),這是臨時cookie文件,當您關閉瀏覽器,將被刪除。

永久Cookie:這是setcookie()函數和這些文件留在你的瀏覽器中的一個子文件夾,直到您手動刪除或瀏覽器刪除它們基於包含在永久性Cookie中的時間週期。例如,如果你想有餅乾

被保存1周:

$remembering_timespan = time() + 7 * 24 * 60 * 60; 
setcookie('test','username', $remembering_timespan); 
2

基本上它是不一樣的。

對於setcookie

<?php 
$value = 'something from somewhere'; 

setcookie("TestCookie", $value); 
setcookie("TestCookie", $value, time()+3600); /* expire in 1 hour */ 
setcookie("TestCookie", $value, time()+3600, "/~rasmus/", "example.com", 1); 
?> 

您可以設置像上面,名稱和值本身超時會話。 至於session_set_cookie_params:

session_set_cookie_params( 
    $currentCookieParams["lifetime"], 
    $currentCookieParams["path"], 
    $rootDomain, 
    $currentCookieParams["secure"], 
    $currentCookieParams["httponly"] 
); 

您可以設置路徑,在這裏http://php.net/manual/en/function.session-set-cookie-params.php

cookie自身,根域,將安全級別和許多參數屆滿通過PHP的有效方法是如下:

<?php 
$currentCookieParams = session_get_cookie_params(); 

$rootDomain = '.example.com'; 

session_set_cookie_params( 
    $currentCookieParams["lifetime"], 
    $currentCookieParams["path"], 
    $rootDomain, 
    $currentCookieParams["secure"], 
    $currentCookieParams["httponly"] 
); 

session_name('mysessionname'); 
session_start(); 

setcookie($cookieName, $cookieValue, time() + 3600, '/', $rootDomain); 
?> 

高效的編碼器確保在設置參數本身之前設置參數,所以如果用戶離開電網。 cookie本身有失效。

1

session_set_cookie_params(秒)

在session_start()做兩件事情,它創建存儲會話數據的服務器上的臨時文件,併發送一個cookie發送到用戶的瀏覽器。這個cookie有一個默認的過期時間,因此調用session_set_cookie_params(秒)會將cookie的默認過期時間更改爲您所定義的時間。 Cookie基本上將客戶端指向他們的會話,因此需要訪問該會話。

設置cookie的()

其中爲的setcookie()函數定義一個cookie與HTTP頭的其餘部分一起被髮送。