ホームページ  >  記事  >  バックエンド開発  >  PHPでCookie時間を変更する方法

PHPでCookie時間を変更する方法

青灯夜游
青灯夜游オリジナル
2021-07-13 18:28:542307ブラウズ

setcookie() 関数を使用して、php で Cookie 時間を変更できます。関数の 3 番目のパラメータに時間値を設定するだけで済みます。構文形式は「setcookie(name, value,expired)」です。 )" の場合、パラメータexpirerはCookieの有効期限を(Unixタイムスタンプの形式で)指定します。

PHPでCookie時間を変更する方法

このチュートリアルの動作環境: Windows7 システム、PHP7.1 バージョン、DELL G3 コンピューター

php では、次のことができます。 setcookie () 関数を使用して Cookie 時間を変更します。

setcookie() 関数は、HTTP Cookie をクライアントに送信します。

Cookie はサーバーからブラウザに送信される変数です。 Cookie は通常、サーバーがユーザーのコンピュータに埋め込む小さなテキスト ファイルです。この Cookie は、同じコンピュータがブラウザを通じてページを要求するたびに送信されます。

Cookie の名前は、同じ名前の変数に自動的に割り当てられます。たとえば、送信される Cookie の名前が「user」の場合、Cookie の値を含む $user という名前の変数が自動的に作成されます。

Cookie は、他の出力がクライアントに送信される前に割り当てる必要があります。

成功した場合、この関数は TRUE を返します。失敗した場合は FALSE を返します。

setcookie() 関数の構文形式は次のとおりです:

setcookie($name,$value,$expire,$path,$domain,$secure,$httponly)

パラメータの説明は次のとおりです:

  • #$name: Cookie 名の設定;

  • #$value: Cookie 値の設定に使用されるオプションのパラメーター。 $value の値は、$_COOKIE['$name'] の形式で取得できます;

  • $expire: Cookie の有効期限を設定するために使用されるオプションのパラメータ。 time は Unix タイムスタンプ形式です。ゼロに設定するか省略した場合、Cookie はセッションの終了時 (つまり、ブラウザが閉じたとき) に期限切れになります;

  • $path: Cookie の設定に使用されるオプションのパラメータ有効なサーバーパスである必要があります。 「/」に設定すると、Cookie はドメイン名 $domain 全体に対して有効になります。 「/foo/」に設定すると、Cookie は $domain 内の /foo/ ディレクトリとそのサブディレクトリ (/foo/bar/ など) に対してのみ有効になります。デフォルト値は、Cookie を設定するときのディレクトリです。

  • $domain: Cookie の有効なドメイン名/サブドメイン名を設定するために使用されるオプションのパラメータです。これをサブドメイン (「c.biancheng.net」など) に設定すると、このサブドメインとその第 3 レベルのドメイン (php.c.biancheng.net など) に対して Cookie が有効になります。 Cookie をドメイン名全体 (そのすべてのサブドメインを含む) に対して有効にするには、Cookie をドメイン名 (たとえば、「biancheng.net」) に設定するだけです;

  • $secure:オプションのパラメータ。この Cookie が安全な HTTPS 接続を通じてのみクライアントに渡されるかどうかを設定するために使用されます。 TRUE に設定すると、Cookie は安全な接続が存在する場合にのみ設定されます。

  • $httponly: オプションのパラメータ。TRUE に設定すると、Cookie は HTTP プロトコル経由でのみアクセスできます。つまり、JavaScript などのスクリプト言語を介して Cookie にアクセスすることはできません。このパラメータを設定すると、XSS 攻撃のリスクを効果的に軽減できます。

注: setcookie() 関数を呼び出す前に出力が生成された場合、setcookie() は失敗し、FALSE を返します。 setcookie() が正常に実行されると、TRUE が返されます。

例:

setcookie() 関数を使用して Cookie を作成します。

<?php
    setcookie(&#39;Website&#39;, &#39;PHP中文网&#39;);
    setcookie(&#39;Title&#39;, &#39;Cookie&#39;, time()+3600);  // 设置 Cookie 1 小时后过期
    setcookie(&#39;Url&#39;, &#39;https://www.php.cn/&#39;, time()+3600, &#39;/&#39;, &#39;www.php.cn&#39;, false);
    echo &#39;<pre class="brush:php;toolbar:false">&#39;;
    print_r($_COOKIE);
?>

出力:

Array
(
    [Website] => PHP中文网
    [Title] => Cookie
    [Url] => https://www.php.cn/
)

setcookie() 関数を使用して、Cookie 時間を有効期限まで変更します。つまり、Cookie を削除します

<?php
    setcookie(&#39;Website&#39;,&#39;&#39;);
    setcookie(&#39;Title&#39;,&#39;Cookie&#39;,time()-1);
    echo &#39;<pre class="brush:php;toolbar:false">&#39;;
    print_r($_COOKIE);
?>

実行結果

Array
(
    [Url] => http://c.biancheng.net/php/
)

推奨される学習: "

PHP ビデオ チュートリアル "

以上がPHPでCookie時間を変更する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。