目次
Cookie とセッションの概要
Cookie の設定とアプリケーション
セッション設定とアプリケーション
ホームページ バックエンド開発 PHPチュートリアル セッションとCookieの基本的な使い方の紹介

セッションとCookieの基本的な使い方の紹介

Mar 19, 2017 am 10:15 AM

多くの場合、Web サイト全体で訪問者のアクティビティを追跡し、その ID (つまり、よく言及される Web サイトへのログインなどの機能) を自動的または半自動的に識別する必要があります。クッキーとセッションを使用して追跡と判断を行うことがよくあります。

セッション情報はサーバー側に保存されますが、セッションIDはクライアントのCookieに保存されます。もちろん、PHPのセッション保存方法は多様であるため、Cookieが無効になっている場合でも追跡できます。

Cookieとは、ユーザーを追跡・識別するために、リモートのブラウザ側にデータを保存する仕組みです。 Cookie は、IE Firefox などのクライアント側に完全に保持されます。クライアントが Cookie を無効にすると、Cookie は使用できなくなります。

Setcookie(string name, string value, int expire,string path, string domain, int secure);
ログイン後にコピー

ここで、name は Cookie 変数名の識別子です。これを使用して、通常の変数名を使用するのと同じように、PHP で Cookie 変数を参照できます。 value は cookie 変数の初期値、expired は cookie 変数の有効期間を表し、domain は cookie 変数の Web サイトを表し、secure は https が安全に送信される場合にのみ有効です。

例:

SetCookie("Cookie", "cookievalue", time()+3600, "/librarys", ".nowamagic.net", 1);
ログイン後にコピー

1. Cookie の受信と処理

PHP は Cookie の受信と処理を完全に自動でサポートしており、FORM 変数の原理と同じで非常に簡単です。

たとえば、MyCookier という名前の Cookie を設定すると、PHP は WEB サーバーが受信した HTTP ヘッダーからそれを自動的に分析し、$myCookie という名前の通常の変数と同様の変数を形成します。この変数の値が Cookie の値になります。 。配列にも同じことが当てはまります。もう 1 つの方法は、PHP のグローバル変数 $HTTP_COOKIE_VARS 配列を参照することです。

例は次のとおりです: (これらが前のページで設定されており、まだ有効であると仮定します)

echo $MyCookie;
echo $CookieArray[0];
echo $_COOKIE["MyCookie"]; 
echo $HTTP_COOKIE_VARS["MyCookie"];
ログイン後にコピー

2. Cookie を削除します

既存の Cookie を削除するには、2 つの方法があります:

  • SetCookie ("Cookie ", "");

  • SetCookie("Cookie", "value" , time()-1 / time() );

3. Cookie の使用制限

  1. が必要ですHTML ファイルの内容は出力前に設定されます

  2. ブラウザーによって Cookie の処理に一貫性がなく、場合によっては誤った結果が発生することがあります。

  3. 制限はクライアント側にあります。ブラウザで作成できる Cookie の最大数は 30 で、各 Cookie は 4KB を超えることはできません。各 Web サイトで設定できる Cookie の総数は 20 を超えることはできません。

セッション設定とアプリケーション

session_start();		//初始化session.需在文件头部

$_SESSION[name]=value;	//配置Seeeion
echo $_SESSION[name];	//使用session
isset($_SESSION[name]);	// 判断
unset($_SESSION[name]);	//删除

session_destroy(); 		//消耗所有session
ログイン後にコピー

注: session_register()、session_unregister、session_is_registered は php5 では使用されなくなりました。

Cookieの使用例:

if($_GET['out'])
{   //用于注销cookies
    setcookie('id',"");
    setcookie('pass',"");
    echo "<script>location.href=&#39;login.php&#39;</script>"; //因为cookies不是及时生效的,只有你再次刷新时才生效,所以,注销后让页面自动刷新。
}

if($_POST[&#39;name&#39;]&&$_POST[&#39;password&#39;]) //如果变量用户名和密码存在时,在下面设置cookies
{   //用于设置cookies
    setcookie(&#39;id&#39;,$_POST[&#39;name&#39;],time()+3600);
    setcookie(&#39;pass&#39;,$_POST[&#39;password&#39;],time()+3600);
    echo "<script>location.href=&#39;login.php&#39;</script>"; //让cookies及时生效
   
}
if($_COOKIE[&#39;id&#39;]&&$_COOKIE[&#39;pass&#39;])
{   //cookies设置成功后,用于显示cookies
    echo "登录成功!<br />用户名:".$_COOKIE[&#39;id&#39;]."<br/>密码:".$_COOKIE[&#39;pass&#39;];
    echo "<br />";
    echo "<a href=&#39;login.php?out=out&#39;>注销cookies</a>";  //双引号内,如果再有引号,需要用单引号。
}

?>
<form action="" method="post">
用户ID:
<input type="text" name="name" /><br/><br/>
密码:
<input type="password" name="password" /><br/><br />
<input type="submit" name="submit">
</form>
ログイン後にコピー

セッションの使用例:

<?php
//session用法实例
session_start();//启动session,必须放在第一句,否则会出错。
if($_GET[&#39;out&#39;])
{
      

    unset($_SESSION[&#39;id&#39;]);
    unset($_SESSION[&#39;pass&#39;]);
}

if($_POST[&#39;name&#39;]&&$_POST[&#39;password&#39;])
{   
   //用于设置session
    $_SESSION[&#39;id&#39;]=$_POST[&#39;name&#39;];
    $_SESSION[&#39;pass&#39;]=$_POST[&#39;password&#39;];
}

if($_SESSION[&#39;id&#39;]&&$_SESSION[&#39;pass&#39;])
{
    echo "登录成功!<br/>用户ID:".$_SESSION[&#39;id&#39;]."<br />用户密码:".$_SESSION[&#39;pass&#39;];
    echo "<br />";
    echo "<a href=&#39;login.php?out=out&#39;>注销session</a>";
}


?>
<form action="login.php"  method="post">
用户ID:
<input type="text" name="name" /><br/><br/>
密码:
<input type="password" name="password" /><br/><br />
<input type="submit" name="submit">
</form>
ログイン後にコピー
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Cookie はどこに保存されますか? Cookie はどこに保存されますか? Dec 20, 2023 pm 03:07 PM

Cookie は通常、ブラウザの Cookie フォルダに保存されます。ブラウザの Cookie ファイルは通常、バイナリ形式または SQLite 形式で保存されます。Cookie ファイルを直接開くと、文字化けしたり判読できないコンテンツが表示される可能性があるため、使用することをお勧めします。 Cookie を表示および管理するためにブラウザによって提供される Cookie 管理インターフェイス。

コンピューター上の Cookie はどこにありますか? コンピューター上の Cookie はどこにありますか? Dec 22, 2023 pm 03:46 PM

コンピュータ上の Cookie は、使用するブラウザとオペレーティング システムに応じて、ブラウザ上の特定の場所に保存されます。 1. Google Chrome、C:\Users\YourUsername\AppData\Local\Google\Chrome\User Data\Default \Cookies に保存されます。等

セッション失敗を解決する方法 セッション失敗を解決する方法 Oct 18, 2023 pm 05:19 PM

セッション障害は通常、セッションの有効期間の期限切れまたはサーバーのシャットダウンによって発生します。解決策: 1. セッションの有効期間を延長する; 2. 永続ストレージを使用する; 3. Cookie を使用する; 4. セッションを非同期的に更新する; 5. セッション管理ミドルウェアを使用する。

PHP セッションのクロスドメイン問題の解決策 PHP セッションのクロスドメイン問題の解決策 Oct 12, 2023 pm 03:00 PM

PHPSession のクロスドメイン問題の解決策 フロントエンドとバックエンドの分離の開発では、クロスドメイン要求が標準になっています。クロスドメインの問題に対処するときは、通常、セッションの使用と管理が必要になります。ただし、ブラウザーのオリジンポリシーの制限により、デフォルトではセッションをドメイン間で共有できません。この問題を解決するには、いくつかの技術と方法を使用して、セッションのクロスドメイン共有を実現する必要があります。 1. ドメイン間でセッションを共有するための Cookie の最も一般的な使用法

クッキーの仕組み クッキーの仕組み Sep 20, 2023 pm 05:57 PM

Cookie の動作原理には、サーバーが Cookie を送信し、ブラウザが Cookie を保存し、ブラウザが Cookie を処理して保存することが含まれます。詳細な紹介: 1. サーバーは Cookie を送信し、サーバーは Cookie を含む HTTP 応答ヘッダーをブラウザーに送信します。この Cookie には、ユーザーの本人認証、設定、ショッピング カートの内容などの情報が含まれており、ブラウザがこの Cookie を受信すると、ユーザーのコンピュータに保存されます。2. ブラウザは Cookie などを保存します。

モバイル Cookie はどこにありますか? モバイル Cookie はどこにありますか? Dec 22, 2023 pm 03:40 PM

携帯電話上の Cookie は、モバイル デバイスのブラウザ アプリケーションに保存されます: 1. iOS デバイスでは、Cookie は Safari ブラウザの [設定] -> Safari -> [詳細] -> [Web サイト データ] に保存されます; 2. Android デバイスでは、Cookie は保存されますChromeブラウザの設定→サイト設定→Cookieなど

JavaScript Cookie と PHP Cookie の違いは何ですか? JavaScript Cookie と PHP Cookie の違いは何ですか? Sep 02, 2023 pm 12:29 PM

JavaScriptCookies JavaScript Cookie の使用は、設定、購入、手数料、その他の情報を記憶および追跡する最も効果的な方法です。訪問者のエクスペリエンスを向上させるために必要な情報やウェブサイトの統計。 PHPCookieCookie は、クライアント コンピューターに保存され、追跡目的で保持されるテキスト ファイルです。 PHP は HTTP Cookie を透過的にサポートします。 JavaScript Cookie はどのように機能しますか?サーバーは、訪問者のブラウザに Cookie の形式でデータを送信します。ブラウザは Cookie を受け入れることができます。存在する場合、それは訪問者のハードドライブにプレーンテキストレコードとして保存されます。さて、訪問者がサイト上の別のページに到達すると、

Cookie 漏洩の危険性は何ですか? Cookie 漏洩の危険性は何ですか? Sep 20, 2023 pm 05:53 PM

Cookie 漏洩の危険には、個人識別情報の盗難、個人のオンライン行動の追跡、アカウントの盗難などが含まれます。詳細な導入: 1. 名前、電子メール アドレス、電話番号などの個人識別情報が盗まれます。この情報は、犯罪者によって個人情報の盗難、詐欺、その他の違法行為を実行するために使用される可能性があります。2. 個人のオンライン行動が追跡され、 Cookie を介して分析される アカウント内のデータを使用して、犯罪者はユーザーの閲覧履歴、ショッピングの好み、趣味などを知ることができます; 3. ログイン認証をバイパスし、ユーザーのアカウントに直接アクセスするなどして、アカウントが盗まれます。

See all articles