php 设置cookie
时间: 2023-08-30 12:04:41 浏览: 49
在PHP中,可以使用setcookie函数来设置cookie。该函数的语法如下:
setcookie(name, value, expire, path, domain, secure, httponly)
其中,name是cookie的名称,value是cookie的值,expire是cookie的过期时间,path是cookie的有效路径,domain是cookie的有效域名,secure表示是否仅通过安全的HTTPS连接传输cookie,httponly表示是否仅通过HTTP协议访问cookie。
例如,可以使用以下代码设置一个名为cookie_name的cookie,值为cookie_value,有效期为1小时,有效路径为根目录,有效域名为当前服务器域名,通过HTTPS连接传输,只能通过HTTP协议访问:
setcookie("cookie_name", "cookie_value", time() + 3600, "/", $_SERVER['SERVER_NAME'], isset($_SERVER["HTTPS"]), true); [2]
另外,还可以使用header函数来设置cookie。例如,可以使用以下代码设置一个名为cookie_name1的cookie,值为"浏览器关闭失效",并且在浏览器关闭后失效:
header("Set-Cookie:cookie_name1_cp=" . urlencode("浏览器关闭失效"));
setcookie("cookie_name1", "浏览器关闭失效"); [3]
相关问题
php 设置COOKIE
您可以使用以下代码设置 COOKIE:
```php
setcookie($name, $value, $expire, $path, $domain, $secure);
```
其中,“$name”为COOKIE名称,"$value"为COOKIE的值,“$expire”为过期时间,“$path”为COOKIE的路径,“$domain”为COOKIE的域,“$secure”为安全传输标识。通常情况下,只需要设置“$name”和“$value”即可。例如:
```php
setcookie('name', 'John');
```
这会在用户的浏览器中创建一个名为“name”的COOKIE,其值为“John”。
php设置cookie的samesite
在 PHP 中设置 cookie 的 SameSite 属性,可以通过在 `setcookie()` 函数中添加 `samesite` 参数来实现。示例如下:
```
setcookie('cookie_name', 'cookie_value', time() + 86400, '/', 'example.com', true, true, 'None');
```
其中,第七个参数就是 SameSite 属性,这里设置为 "None"。需要注意的是,为了启用跨站使用,SameSite 属性必须设置为 "None",同时还需要设置 `secure` 参数为 `true`,以确保安全性。
如果需要设置多个 cookie 的 SameSite 属性,可以使用以下代码:
```
$options = [
'expires' => time() + 86400,
'path' => '/',
'domain' => 'example.com',
'secure' => true,
'httponly' => true,
'samesite' => 'None'
];
setcookie('cookie_name1', 'cookie_value1', $options);
setcookie('cookie_name2', 'cookie_value2', $options);
```
在上面的代码中,使用 `$options` 数组来存储所有的 cookie 参数,包括 SameSite 属性。然后,通过 `setcookie()` 函数来设置多个 cookie,其中第三个参数使用 `$options` 数组来传递参数。