PHPのクッキー

クッキーは、ユーザーを識別するために使用されます。


どのようなクッキーですか?

クッキーは、ユーザーを識別するために使用されます。 クッキーは、ユーザーのコンピュータ上のサーバは小さなファイルに滞在することです。 ブラウザを介して、同じコンピュータがページを要求するたびに、このコンピュータは、クッキーが送信されます。 PHPによって、あなたが作成し、Cookieの値を取得することができます。


クッキーを作成する方法?

ますsetcookie()関数がクッキーを設定するために使用されます。

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

文法

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

例1

次の例では、「ユーザー」という名前のCookieを作成し、「w3big」を割り当てます。 また、このクッキーは、1時間後に期限切れに用意されています。

<?php
setcookie("user", "w3big", time()+3600);
?>

<html>
jaja.

注:自動的に取得する際クッキーを送信する場合、Cookieの値が自動的にURLエンコードされ、デコードされました。(代わりに)(setrawcookieを使用し、URLエンコードを防ぐために。)

例2

また、別の方法でクッキーの有効期限を設定することができます。 これは、秒の方法を使用するよりも簡単かもしれ。

<?php
$expire=time()+60*60*24*30;
setcookie("user", "w3big", $expire);
?>

<html>
jaja.

上記の例では、有効期限を1ヶ月(60秒* 60分* 24時間* 30日)に設定されています


クッキーの値を取得するには?

PHP $ _COOKIE変数には、クッキーの値を取得するために使用されます。

次の例では、「ユーザー」という名前のCookieの値を取得し、ページ上に表示します。

<?php
// 输出 cookie 值
echo $_COOKIE["user"];

// 查看所有 cookie
print_r($_COOKIE);
?>

次の例では、設定されたクッキーことを確認するためにisset()を使用します:

<html>
<head>
<meta charset="utf-8">
<title>本教程(w3write.com)</title>
</head>
<body>

<?php
if (isset($_COOKIE["user"]))
	echo "欢迎 " . $_COOKIE["user"] . "!<br>";
else
	echo "普通访客!<br>";
?>

</body>
</html>


クッキーを削除する方法?

あなたはクッキーを削除すると、あなたは最後の時間の有効期限を変更する必要があります。

例を削除します。

<?php
// 设置 cookie 过期时间为过去 1 小时
setcookie("user", "", time()-3600);
?>


お使いのブラウザが行う方法クッキーをサポートしていない場合は?

アプリケーションがブラウザのcookieをサポートしていないに対処する必要がある場合は、ページ間のアプリケーションに情報を渡すために他の方法を使用する必要があります。 一つの方法は、(我々が導入されているこのチュートリアルの前のセクションでフォームとユーザーの入力について)フォームを介してデータを渡すことです。

単一のユーザー・クリックで次のフォームは「welcome.php「ユーザ入力を提出する "Submit"ボタンを:

<html>
<head>
<meta charset="utf-8">
<title>本教程(w3write.com)</title>
</head>
<body>

<form action="welcome.php" method="post">
名字: <input type="text" name="name">
年龄: <input type="text" name="age">
<input type="submit">
</form>

</body>
</html>

次のように、ファイル内の「welcome.php」の値を取得します。

<html>
<head>
<meta charset="utf-8">
<title>本教程(w3write.com)</title>
</head>
<body>

欢迎 <?php echo $_POST["name"]; ?>.<br>
你 <?php echo $_POST["age"]; ?> 岁了。

</body>
</html>