setcookie()

为了在不同的页面中使用$_COOKIE里面的变量,应该设置path变量


我的程序中:

在user模块的IndexController中的logingoAction中:

setcookie("remembercookieusername",$username1,time()+604800,'/');

setcookie("remembercookiepassword",md5($password1),time()+604800,'/');

在default模块中的IndexController 中的indexAction中才能正确的取到

$_COOKIE["remembercookieusername"]和

$_COOKIE["remembercookiepassword"]

定义和用法

setcookie() 函数向客户端发送一个 HTTP cookie。

cookie 是由服务器发送到浏览器的变量。cookie 通常是服务器嵌入到用户计算机中的小文本文件。每当计算机通过浏览器请求一个页面,就会发送这个 cookie。

cookie 的名称指定为相同名称的变量。例如,如果被发送的 cookie 名为 "name",会自动创建名为 $user 的变量,包含 cookie 的值。

必须在任何其他输出发送前对 cookie 进行赋值。

如果成功,则该函数返回 true,否则返回 false。

语法

setcookie(name,value,expire,path,domain,secure)
参数 描述
name 必需。规定 cookie 的名称。
value 必需。规定 cookie 的值。
expire 可选。规定 cookie 的有效期。
path 可选。规定 cookie 的服务器路径。
domain 可选。规定 cookie 的域名。
secure 可选。规定是否通过安全的 HTTPS 连接来传输 cookie。

提示和注释

注释:可以通过 $HTTP_COOKIE_VARS["user"] 或 $_COOKIE["user"] 来访问名为 "user" 的 cookie 的值。

注释:在发送 cookie 时,cookie 的值会自动进行 URL 编码。接收时会进行 URL 解码。如果你不需要这样,可以使用 setrawcookie() 代替。

例子

例子 1

设置并发送 cookie:

<?php
$value = "my cookie value";

// 发送一个简单的 cookie
setcookie("TestCookie",$value);
?>

<html>
<body>

...
...
<?php
$value = "my cookie value";

// 发送一个 24 小时候过期的 cookie
setcookie("TestCookie",$value, time()+3600*24);
?>

<html>
<body>

...
...

例子 2

检索 cookie 值的不同方法:

<html>
<body>

<?php

// 输出个别的 cookie
echo $_COOKIE["TestCookie"];
echo "<br />";
echo $HTTP_COOKIE_VARS["TestCookie"];
echo "<br />";

// 输出所有 cookie
print_r($_COOKIE);
?>

</body>
</html>

输出:

my cookie value
my cookie value
Array ([TestCookie] => my cookie value)

例子 3

通过把失效日期设置为过去的日期/时间,删除一个 cookie:

<?php
// 把失效日期设置为一小时前
setcookie ("TestCookie", "", time() - 3600);
?>

<html>
<body>

...
...

例子 4

创建一个数组 cookie:

<?php
setcookie("cookie[three]","cookiethree");
setcookie("cookie[two]","cookietwo");
setcookie("cookie[one]","cookieone");

// 输出 cookie (在重载页面后)
if (isset($_COOKIE["cookie"]))
  {
  foreach ($_COOKIE["cookie"] as $name => $value)
    {
    echo "$name : $value <br />";
    }
  }
?>

<html>
<body>

...
...

输出:

three : cookiethree
two : cookietwo
one : cookieone

### Puppeteer 中 `setCookie` 的使用方法 在 Puppeteer 中,`page.setCookie()` 是用于设置浏览器 Cookies 的核心 API。它允许开发者通过传递一个或多个 Cookie 对象来定义新的 Cookies 或覆盖现有的 Cookies。 以下是关于 `setCookie` 方法的具体说明以及完整的代码示例: #### 参数结构 `setCookie` 接收一个或多个对象作为参数,每个对象代表一个 Cookie。这些对象通常包含以下属性: - **name**: (字符串) Cookie 名称。 - **value**: (字符串) Cookie 值。 - **domain** *(可选)*: (字符串) 定义该 Cookie 所属的域名范围。 - **path** *(可选)*: (字符串) 默认为 `/`,指定路径作用域。 - **expires** *(可选)*: (数字) Unix 时间戳,表示过期时间。 - **httpOnly** *(可选)*: (布尔值) 是否仅限 HTTP 协议访问,默认为 `false`。 - **secure** *(可选)*: (布尔值) 是否只应在 HTTPS 下发送,默认为 `false`[^1]。 #### 示例代码 下面是一个完整的代码片段,展示如何使用 `setCookie` 来创建一个新的 Cookie 并验证其存在性: ```javascript const puppeteer = require('puppeteer'); (async () => { const browser = await puppeteer.launch(); const page = await browser.newPage(); // 访问目标网站 await page.goto('https://example.com'); // 设置新 Cookie await page.setCookie({ name: 'username', value: 'JohnDoe', domain: '.example.com', // 确保与当前页面匹配 path: '/', expires: Date.now() + 3600 * 24, // 过期时间为一天后 httpOnly: false, secure: true }); // 验证已设置的 Cookie const cookies = await page.cookies(); console.log(cookies); // 删除特定 Cookie await page.deleteCookie({ name: 'username', domain: '.example.com' }); await browser.close(); })(); ``` 上述代码展示了以下几个操作流程: 1. 启动 Puppeteer 浏览器实例并打开新标签页。 2. 调用 `page.setCookie` 创建名为 `username` 的 Cookie,并为其赋值 `JohnDoe`。 3. 使用 `page.cookies()` 查看当前页面的所有 Cookies。 4. 利用 `page.deleteCookie` 移除刚刚创建的 Cookie。 #### 注意事项 - 如果未提供 `domain` 属性,则默认会将其绑定到当前浏览上下文中加载的顶级域名上。 - 当尝试删除某个不存在或者不匹配条件(比如错误的 `domain` 和 `path`)下的 Cookie 时不会抛出异常,但也不会有任何效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值