ホームページ >バックエンド開発 >PHPチュートリアル >PHP 会話制御 SESSION と COOKIE の概要

PHP 会話制御 SESSION と COOKIE の概要

WBOY
WBOYオリジナル
2016-06-13 12:21:361144ブラウズ

PHP セッション コントロールの概要 SESSION と COOKIE

セッション コントロールの背景説明
ユーザー追跡を実装するためのいくつかの方法:
1. 現在のページ
の変数ページは、次の場所で利用できます。現在のページ、ページの実行が完了すると、変数が解放されます。
2. 2 つのページ間で変数を渡す
URL/abc.php?id=12234&age=2 を通じて値を渡す ユーザー追跡は可能ですが、面倒すぎます。
3. セッション レベルのセッション
同じユーザーが同じ Web サイト上で自分の変数を共有します。
4. グローバルグローバル
ファイルとデータベース。誰でも、どんなウェブサイトでも使用できます。つまり、セッション制御により、サーバーは実際に、同じクライアントによって行われた連続したリクエストを追跡できるようになります。
SESSION と COOKIE の違い
Cookie: 最も重要なことは、サーバーがクライアントに保存する情報をクライアントに送信することです。原則: ユーザーがサーバーにアクセスすると、サーバー スクリプト言語がビジネス ロジックに基づいてユーザー (ログイン) に Cookie を設定し、ユーザーはこの Web サイトのテキスト (通常はドメイン名に関連する) をクライアント上の特定のフォルダーに作成します。テキストは主に保存される変数を記録するために使用されます。ユーザーが他のページにアクセスすると、http プロトコルはクライアントによって設定されたテキストの内容を他のページにもたらします。 httpd ヘッダーを使用します。複数の個人アクセスは、前の手順を繰り返します。
Webサイトの情報を保存するこのテキストファイルをCookieファイルと呼び、このような仕組み全体をCookieメカニズムと呼びます。
Firefox では、Cookie 情報は通常のテキスト情報ではなく、暗号化されています。ブラウザで直接表示できます:
ツール->オプション->プライバシー->履歴->カスタム履歴設定を使用->Cookie を表示
実際、Cookie の使用は非常に重要でした。初期の頃は、指定されたフォルダーに指定されたファイルを書き込みますが、このファイルはテキストでなければなりません。
設定方法:
1. Cookie を設定します setcookie(name, value, save time);
注:
⑴保存時間が書かれていない場合は、ブラウザーを起動すると Cookie が消えることを意味します。閉店しました。
COO KIE これスーパーフル番号グループ来てくださいTake(とき もう一度 訪問質問 ページ 営業時間顧客 世帯終了 cookie数字 によると合格 合格 合格 来てください ) 削除以外 cookie2se tcookie(名前 いつ以前 ) ; time( )?1メモ 意味: 設定設定 cookie必須必須作る使用setCookieいいえできます_COOKIE[”]=xxoo这种方式设置;
⑵setcookie设置值的时候第二个参数不能是array类型的;
⑶setcookie里面可以存数组,但是要用xxoo[xx]这种方式来存数组。数组可以是索引的也可以是关联的;
⑷如果setcookie里面使用索引数组但是你不给下标的这种格式,那么下标永远是0,后面的值覆盖前面的值;
⑸当你设置完cookie之后如果你在同一个页面马上使用cookie值第一次是不能用的。因为在你请求的同时服务器端刚刚让客户端存;
⑹setcookie里面有第四个参数,就是path就是cookie设置的路径,默认cookie的路径是当前目录下。
3、session:
cookie的升级版,cookie会占用空间、好过电脑账号泄露是通过读取网站COOKIE实现的。
原理:客户端第一次登录网站的时候根据业务逻辑会分配给客户端一个不重复的ID,这个时候服务器端会建立一个文件,这个文件的命名是以分配用户的sessionid 命名的,当客户端拿到sessionid后会以cookie的形式进行存储,如果下次再访问页面将会以cookie的形式将sessionid带过来。带过来的时候,服务器会根据session的机制去读取session id的文件。
4、如何设置session
session_start();开启session的机制 开启session
机制:
⑴当客户端第一次请求服务器的时session_start会分配ID创建session文件。
⑵如果你已经设置过session,它会根据HTTP协议带过来的session id找服务器里面的文件。
5、如何拿值、设置值
SESSION['xxoo']= xxoo;セット設定_SESSION[‘xxoo’] 取值也要先开启session start
6、如何销毁session
⑴session_start();
⑵清空$_SESSION数组 unset array(); //因为第三部里面虽然文件没了但是里面的值还在内存里面呢,还能用。
⑶销毁session文件 session_destory();
7、删除客户端session ID
setcookie(‘session ID值’,”,time()-1);
setcookie(session_name(),”,time()-1);
注意:
删除session id、setcookie的时,最好把第四个参数加上
session_name();来动态获得sessionID的值。
php.ini中session.name选项代表的session的名
session.auto_start这个代表的是不用session_start而进入每个页面时自动开启session通常都会关掉。

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