最新のWeb開発のチュートリアル
×

PHP チュートリアル

PHP HOME PHP イントロ PHP インストール PHP 構文 PHP 変数 PHP エコー/印刷 PHP データの種類 PHP ストリング PHP 定数 PHP 演算子 PHP If...Else...Elseif PHP Switch PHP whileループ PHP Forループ PHP 機能 PHP 配列 PHP 配列のソート PHP スーパーグローバル

PHP 取り扱い

PHP フォーム 取り扱い PHP フォーム 検証 PHP フォーム 必須 PHP フォーム URL/E-mail PHP フォーム コンプリート

PHP 高度な

PHP 多次元配列 PHP 日時 PHP 含めます PHP ファイル 取り扱い PHP ファイル オープン/読みます PHP ファイル 作成/書きます PHP ファイル アップロード PHP Cookies PHP Sessions PHP フィルター PHP Filters 高度な PHP エラー 取り扱い PHP 例外

MySQL Database

MySQL データベース MySQL 接続 MySQL Create DB MySQL Create 表 MySQL Insert Data MySQL 最後のIDを取得します MySQL 複数の挿入 MySQL Prepared MySQL Select Data MySQL Delete Data MySQL Update Data MySQL Limit Data

PHP - XML

PHP XML パーサー PHP SimpleXML Parser PHP SimpleXML - Get PHP XML Expat PHP XML DOM

PHP - AJAX

AJAX イントロ AJAX PHP AJAX データベース AJAX XML AJAX ライブ検索 AJAX RSSリーダー AJAX 世論調査

PHP Examples

PHP 例 PHP クイズ PHP 証明書

PHP 参照

PHP アレイ PHP カレンダー PHP 日付 PHP ディレクトリ PHP エラー PHP ファイルシステム PHP フィルタ PHP FTP PHP HTTP PHP Libxml PHP 郵便物 PHP 数学 PHP その他 PHP MySQLiを PHP SimpleXML PHP 文字列 PHP XML PHP Zip PHP 時間帯

 

PHP setcookie() Function

<PHP HTTPリファレンス

次の例では、名前のクッキーを作成"user"値と"John Doe" 。 クッキーは30日後に期限切れになります(86400 * 30) "/"クッキーは、Webサイト全体で利用可能であることを意味し(otherwise, select the directory you prefer)

私たちは、その後、Cookieの値取得"user" (グローバル変数$ _COOKIEを使用します)。 また、使用isset()クッキーが設定されているかどうかを確認する機能を:

<!DOCTYPE html>
<?php
$cookie_name = "user";
$cookie_value = "John Doe";
setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/"); // 86400 = 1 day
?>
<html>
<body>

<?php
if(!isset($_COOKIE[$cookie_name])) {
    echo "Cookie named '" . $cookie_name . "' is not set!";
} else {
    echo "Cookie '" . $cookie_name . "' is set!<br>";
    echo "Value is: " . $_COOKIE[$cookie_name];
}
?>

</body>
</html>
»実行例

定義と使用法

setcookie()関数は、HTTPヘッダーの残りの部分と一緒に送信するクッキーを定義します。

クッキーは、多くの場合、ユーザを識別するために使用されます。 クッキーは、サーバーがユーザーのコンピュータに埋め込んだ小さなファイルです。 同じコンピュータは、ブラウザでページを要求するたびに、それはあまりにもクッキーを送信します。 PHPを使用すると、両方のクッキー値を作成し、取得することができます。

クッキーの名前が自動的に同じ名前の変数に代入されます。 クッキーは名前で送信された場合たとえば、 "user" 、変数は自動的にクッキー値を含む、$ユーザと呼ば作成されます。

Note: setcookie()関数は、前に現れなければなりません<html>タグ。

Note:クッキーを送信するとき、クッキーの値を自動的にURLエンコードされ、そして受信されたときに自動的に復号化され(URLエンコードを防止するために、使用setrawcookie()代わりに)。

構文

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

パラメーター 説明
name 必須。 クッキーの名前を指定します。
value 任意。 Cookieの値を指定します。
expire 任意。 クッキーの有効期限が切れたときに指定します。 値: time() + 86400 * 30は、30日で期限切れにクッキーを設定します。 このパラメータを省略するか、0に設定されている場合、クッキーはセッションの終わりに期限切れになります(when the browser closes) 。 デフォルトは0です
path 任意。 クッキーのサーバーのパスを指定します。 設定した場合"/" 、クッキーは、ドメイン全体内で利用できるようになります。 設定すると"/php/" 、クッキーはPHPのPHPのディレクトリとすべてのサブディレクトリ内で使用可能になります。 デフォルト値は、クッキーがセットされたときのカレントディレクトリです
domain 任意。 クッキーのドメイン名を指定します。 example.comのすべてのサブドメインでクッキーを使用可能にするには、にドメインを設定し"example.com" 。 www.example.comに設定すると、クッキーはwwwサブドメインにおいてのみ利用できるようになります
secure 任意。 クッキーがセキュアなHTTPS接続のみで送信する必要があるかどうかを指定します。 TRUEは、セキュアな接続が存在する場合、クッキーにのみ設定されることを示しています。 デフォルトはFALSEです
httponly 任意。 TRUEに設定すると、クッキーは、HTTPプロトコルを介してアクセスできるようになります(the cookie will not be accessible by scripting languages) 。 この設定は、XSS攻撃による個人情報の盗難を減らすのに役立つことができます。 デフォルトはFALSEです

技術的な詳細

戻り値: 成功した場合にTRUE。 失敗した場合にFALSE
PHPバージョン: 4+
PHPの変更ログ: PHP 5.5 - マックス・年齢属性は、クライアントに送信されたSet-Cookieヘッダーに含まれていました
PHP 5.2 - HttpOnlyのパラメータが追加されました

その他の例

いくつかは、クッキーの日付を期限切れ:

<?php
$value = "Hello world!";

// cookie will expire when the browser close
setcookie("myCookie", $value);

// cookie will expire in 1 hour
setcookie("myCookie", $value, time() + 3600);

// cookie will expire in 1 hour, and will only be available
// within the php directory + all sub-directories of php
setcookie("myCookie", $value, time() + 3600, "/php/");
?>
<html>
<body>

...some code...

</body>
</html>
»実行例

クッキーを変更するには、単に設定(again)使用したクッキーをsetcookie()関数:

<?php
$cookie_name = "user";
$cookie_value = "Alex Porter";
setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/");
?>
<html>
<body>

<?php
if(!isset($_COOKIE[$cookie_name])) {
    echo "Cookie named '" . $cookie_name . "' is not set!";
} else {
    echo "Cookie '" . $cookie_name . "' is set!<br>";
    echo "Value is: " . $_COOKIE[$cookie_name];
}
?>

</body>
</html>
»実行例

クッキーを削除するには、使用しsetcookie()過去の有効期限と機能を:

<?php
// set the expiration date to one hour ago
setcookie("user", "" , time() - 3600);
?>
<html>
<body>

<?php
echo "Cookie 'user' is deleted.";
?>

</body>
</html>
»実行例

かどうかをチェックする小さなスクリプト作成cookies有効になっています。 まず、とテストクッキーを作成しようとしsetcookie()の$ _COOKIE配列変数をカウントし、その後、機能:

<?php
setcookie("test_cookie", "test" , time() + 3600, '/');
?>
<html>
<body>

<?php
if(count($_COOKIE) > 0) {
    echo "Cookies are enabled.";
} else {
    echo "Cookies are disabled.";
}
?>

</body>
</html>
»実行例

<PHP HTTPリファレンス