admin 发表于 2023-2-16 18:54:44

PHP setcookie() 函数

<div id="article_content" class="article_content clearfix">
      <link rel="stylesheet" href="https://csdnimg.cn/release/blogv2/dist/mdeditor/css/editerView/kdoc_html_views-1a98987dfd.css">
      <link rel="stylesheet" href="https://csdnimg.cn/release/blogv2/dist/mdeditor/css/editerView/ck_htmledit_views-6e43165c0a.css">
                <div id="content_views" class="htmledit_views">
                  <h2>定义和用法</h2>
<p>setcookie() 函数向客户端发送一个 HTTP cookie。</p>
<p>cookie 是由服务器发送到浏览器的变量。cookie 通常是服务器嵌入到用户计算机中的小文本文件。每当同一台计算机通过浏览器请求页面时&#xff0c;就会发送这个 cookie。</p>
<p>cookie 的名称自动指定为相同名称的变量。例如&#xff0c;如果被发送的 cookie 名为 &#34;user&#34;&#xff0c;则会自动创建一个名为 $user 的变量&#xff0c;包含 cookie 的值。</p>
<p>必须在任何其他输出发送到客户端前对 cookie 进行赋值。</p>
<p>如果成功&#xff0c;该函数返回 TRUE。如果失败则返回 FALSE。</p>
<h2>语法</h2>
<p>setcookie(name,value,expire,path,domain,secure)</p>
<p></p>
<table><tbody><tr><th>参数</th><th>描述</th></tr><tr><td style="vertical-align:top;">name</td><td style="vertical-align:top;">必需。规定 cookie 的名称。</td></tr><tr><td style="vertical-align:top;">value</td><td style="vertical-align:top;">必需。规定 cookie 的值。</td></tr><tr><td style="vertical-align:top;">expire</td><td style="vertical-align:top;">可选。规定 cookie 的过期时间。 <p>time()&#43;3600*24*30 将设置 cookie 的过期时间为 30 天。如果这个参数没有设置&#xff0c;那么 cookie 将在 session 结束后&#xff08;即浏览器关闭时&#xff09;自动失效。</p> </td></tr><tr><td style="vertical-align:top;">path</td><td style="vertical-align:top;">可选。规定 cookie 的服务器路径。 <p>如果路径设置为 &#34;/&#34;&#xff0c;那么 cookie 将在整个域名内有效.如果路径设置为 &#34;/test/&#34;&#xff0c;那么 cookie 将在 test 目录下及其所有子目录下有效。默认的路径值是 cookie 所处的当前目录。</p> </td></tr><tr><td style="vertical-align:top;">domain</td><td style="vertical-align:top;">可选。规定 cookie 的域名。 <p>为了让 cookie 在 example.com 的所有子域名中有效&#xff0c;您需要把 cookie 的域名设置为 &#34;.example.com&#34;。当您把 cookie 的域名设置为 www.example.com 时&#xff0c;cookie 仅在 www 子域名中有效。</p> </td></tr><tr><td style="vertical-align:top;">secure</td><td style="vertical-align:top;">可选。规定是否需要在安全的 HTTPS 连接来传输 cookie。如果 cookie 需要在安全的 HTTPS 连接下传输&#xff0c;则设置为 TRUE。默认是 FALSE。</td></tr></tbody></table>
<p></p>
<hr>
<h2>提示和注释</h2>
<p><strong>提示&#xff1a;</strong>可以通过 $HTTP_COOKIE_VARS[&#34;user&#34;] 或 $_COOKIE[&#34;user&#34;] 来访问名为 &#34;user&#34; 的 cookie 的值。</p>
<p><strong>注释&#xff1a;</strong>在发送 cookie 时&#xff0c;cookie 的值会自动进行 URL 编码。接收时会自动进行 URL 解码。如果您不需要这样&#xff0c;可以使用 setrawcookie() 代替。</p>
<hr>
<h2>实例 1</h2>
<p>设置并发送 cookie&#xff1a;</p>
<p><?php<br> $value &#61; &#34;my cookie value&#34;;<br><br> // send a simple cookie<br> setcookie(&#34;TestCookie&#34;,$value);<br> ?><br><br> <html><br> <body><br><br> ...<br> ...</p>
<p></p>
<p><?php<br> $value &#61; &#34;my cookie value&#34;;<br><br> // send a cookie that expires in 24 hours<br> setcookie(&#34;TestCookie&#34;,$value, time()&#43;3600*24);<br> ?><br><br> <html><br> <body><br><br> ...<br> ...</p>
<p></p>
<hr>
<h2>实例 2</h2>
<p>检索 cookie 值的不同方法&#xff08;在 cookie 设置之后&#xff09;&#xff1a;</p>
<p><html><br> <body><br><br> <?php<br> // Print individual cookies<br> echo $_COOKIE[&#34;TestCookie&#34;];<br> echo &#34;<br />&#34;;<br> echo $HTTP_COOKIE_VARS[&#34;TestCookie&#34;];<br> echo &#34;<br />&#34;;<br><br> // Print all cookies<br> print_r($_COOKIE);<br> ?><br><br> </body><br> </html></p>
<p>上面的代码将输出&#xff1a;</p>
<p>my cookie value<br> my cookie value<br> Array ( &#61;> my cookie value)</p>
<p></p>
<hr>
<h2>实例 3</h2>
<p>通过把失效日期设置为过去的日期/时间&#xff0c;删除一个 cookie&#xff1a;</p>
<p><?php<br> // Set the expiration date to one hour ago<br> setcookie (&#34;TestCookie&#34;, &#34;&#34;, time() - 3600);<br> ?><br><br> <html><br> <body><br><br> ...<br> ...</p>
<p></p>
<hr>
<h2>实例 4</h2>
<p>创建一个数组 cookie&#xff1a;</p>
<p><?php<br> setcookie(&#34;cookie&#34;,&#34;cookiethree&#34;);<br> setcookie(&#34;cookie&#34;,&#34;cookietwo&#34;);<br> setcookie(&#34;cookie&#34;,&#34;cookieone&#34;);<br><br> // print cookies (after reloading page)<br> if (isset($_COOKIE[&#34;cookie&#34;]))<br> {<br> foreach ($_COOKIE[&#34;cookie&#34;] as $name &#61;> $value)<br> {<br> echo &#34;$name : $value <br />&#34;;<br> }<br> }<br> ?><br><br> <html><br> <body><br><br> ...<br> ...</p>
<p>上面的代码将输出&#xff1a;</p>
<p>three : cookiethree<br> two : cookietwo<br> one : cookieone</p>
                </div>
      </div>
      <div id="treeSkill"></div>
页: [1]
查看完整版本: PHP setcookie() 函数