phpの基礎知識(3) - セッションの使い方
PHP の基礎知識 - セッションの使用法
サンプル コード ダウンロード ページ http://xieye.iteye.com/blog/1336095 (添付ファイル内)
セッションとは、サーバーが同じものを扱います。一定期間内のユーザー 一定期間内のさまざまな接続の識別。
セッション原則はたくさんありますが、実際には主に Cookie です。
Cookie の原理: Web プロトコルでは、サーバーがリクエストを返すと、次回ブラウザが同じドメイン ネーム サーバーに情報をリクエストするときに、データの一部をブラウザ クライアントに保存できると規定されています。
同時にこのセクションが自動的に保存され、情報はサーバーに送信されるため、ユーザーはこれらのことを理解する必要がなく、通常どおりインターネットを閲覧できます。
Cookie の機能の 1 つは、サーバーが時間パラメータを使用してクライアントを保存できることです。ブラウザはこのパラメータを使用して、Cookie の有効期限が切れているかどうかを判断します。有効期限が切れると、Cookie は
サーバーに届きません。
Cookie のもう 1 つの特徴は、複数の名前と値の組み合わせです。
PHP セッションの実装メカニズム:
PHP セッションを開くには 2 つの方法があります。
1 つは、php.ini に約 1014 行を設定する方法です。
session.auto_start = 0;変更 1 の場合、セッションは自動的に開きます。
2 番目の方法は、session_start() 関数を使用することです。
実際のアプリケーションでは、通常、設定ファイルの自動オープンはキャンセルされ、関数を使用して手動でセッションがオープンされます。
セッションを開いた後、
クライアントが PHPSESSID という Cookie を送信しない場合、サーバーは戻り時にこの名前の Cookie をユーザーに自動的に送信します。値はランダムな文字列です。
を実行し、サーバーのセッション ディレクトリにファイルを作成します。名前は PHPSESSID という名前の Cookie の値であり、内容は空です。
クライアントが PHPSESSID という名前の Cookie を送信すると、サーバーは Cookie の値に従ってセッション ディレクトリ内で対応するファイルを見つけ、その値を取り出してセッション グローバル配列に置きます。 >プログラムはご自由にお読みいただけます。
は、php セッションがファイル名 (phpsessid という名前の Cookie の値) に対応するファイル内のコンテンツであると単純に理解できます。
PHP プログラムで開発された Web サイトの場合、PHP 構成に特別な変更を加えなければ、
ユーザーがブラウザを閉じて再度開くと、通常、新しいセッションが生成されます。その理由は、php によって送信される Cookie がデフォルトで閉じられており、Cookie の有効期限が切れるためです
プログラムはセッション内のコンテンツを自由に変更することもできます。
会話型アプリケーション、ログイン、登録など。
例 1: データベースを使用せず、セッションを使用して顧客が Web サイトに残した痕跡を記憶するデモンストレーション。
http://localhost/command/peixun/session/6.php
記事をクリックして表示できます (例が 2 つあります)。[戻る] をクリックします。
システムは、ユーザーが閲覧した記事の使用セッションを記録できることがわかります。
注: ブラウザを閉じていると機能しません。長期間保存したい場合は、ユーザー ログイン機能を使用してデータベースに保存する必要があります。
Cookie の最大容量は 2K と小さすぎるため、Cookie ストレージ ソリューションは推奨されません。
コードはダウンロードできます
6.php
<?php //会话的第一个例子 require_once('../Public/CommandLine.php'); session_start(); if (!isset($_SESSION['news'])) { $_SESSION['news'] = array(); } echo ' 请查看文章 <ul> <li><a href="7.php">多家银行否认用户资料外泄 工信部要求网站自查</a></li> <li><a href="8.php">春运火车票开售 各地开设网络购票换票窗口</a></li> </ul> 最近看过的文章列表 <br /> <ul> '; foreach ($_SESSION['news'] as $value) { echo '<li>' . $value ."</li>"; } echo '</ul>';
<?php //会话的第1个例子 require_once('../Public/CommandLine.php'); session_start(); $_SESSION['news'][] = '多家银行否认用户资料外泄 工信部要求网站自查('.date('Y-m-d H:i:s') .')'; $html = <<<longs <html> <h2>多家银行否认用户资料外泄 工信部要求网站自查</h2> 本报讯 (记者林其玲 阳淼 李媚玲 苏曼丽)互联网用户数据泄密事件继续发酵。继CSDN、天涯、新浪等互联网公司后,京东商城、网易公司、支付宝也被卷入“泄密门”。昨日又有网友爆料称,交通银行和民生银行用户资料也遭外泄。 昨日中午,有爆料称交通银行7000万客户、民生银行3500万用户以及工行用户资料外泄,泄露数据包括用户的姓名、卡号、密码等敏感信息,并发布信息截图。 <br > <a href="6.php">返回列表页</a> </html> longs; echo $html;
<?php //会话的第一个例子 require_once('../Public/CommandLine.php'); session_start(); //if (!isset($_SESSION['news'])) { // $_SESSION['news'] = array('春运火车票开售 各地开设网络购票换票窗口'); //} $_SESSION['news'][] = '春运火车票开售 各地开设网络购票换票窗口('.date('Y-m-d H:i:s') .')'; $html = <<<longs <html> <h2>春运火车票开售 各地开设网络购票换票窗口</h2> 中广网综合报道 今天(29日)是各地列车春运订票的第一天,又是启动网络购票第一年,各大火车站迎来售票高峰。各地记者实地体验多途径购票,看看今年网络购票能不能解决买票难题。 武汉高校火车票预售期调整为28天 学生青睐窗口买票 <br > <a href="6.php">返回列表页</a> </html> longs; echo $html;