PHP と MySQL の基本チュートリアル (3)
この記事の内容は PHP と MySQL の基本的なチュートリアルです。必要な方は参考にしていただければ幸いです。
Cookieを使用してユーザーを追跡し、識別します
ブラウザに保存されたコンテンツを見てみましょう。 IE5 を使用している場合は、Windows ディレクトリに Cookie ディレクトリがあり、ファイル名は wudong@15秒[1].txt のようになります。これらはブラウザが値を保存するために使用する Cookie です。 。以前のバージョンの IE では Cookie の内容を表示できましたが、現在は内容がエンコードされています。ブラウザは Web ページを取得する前に、まずそのページのドメイン名が Cookie に存在するかどうかを確認し、一致するものがあれば、ブラウザはまず一致する Cookie をサーバーに送信し、次に送信された Cookie を受け入れて処理します。サーバーページによって。
Cookie アプリケーションの例を見てみましょう。Amazon.com に接続すると、ブラウザは最初のページを受け入れる前に、以前に設定した Cookie の内容を Amazon に送信します。次に、Amazon.com は送信されたコンテンツをチェックして、データベースに関連する情報があるかどうかを確認した後、カスタマイズされたページを作成して送信します。
Cookie への値の割り当て
サーバーがクライアントのブラウザにコンテンツを送信する前に、Cookie に値を割り当てる必要があります。これを行うには、Cookie 設定を < HEAD> タグに配置する必要があります:
< ?php setcookie("CookieID", $USERID); ?> < HTML> < BODY> < /BODY> < /HTML>
setcookie 関数にはカンマで区切られた合計 6 つのパラメータがあります:
Cookie の名前は次のような文字列です。 「CookieID」 。コロン、カンマ、スペースを間に入れることはできません。このパラメータは必須ですが、他のパラメータはすべてオプションです。このパラメータのみを指定した場合、Cookie は削除されます。
Cookie の値は通常、$USERID などの文字列変数です。 ?? を割り当てて値の設定をスキップすることもできます。
クッキーの有効期限が切れる時刻。省略した場合 (または値 0 を割り当てた場合)、Cookie はセッションの終了時に期限切れになります。このパラメータには、「24-Nov-99 08:26:00」のように、DD-Mon-YY HH:MM:SS で表される絶対時刻を指定できます。より一般的に使用されるのは、相対時間を設定することです。これは、time() 関数または mktime 関数を通じて実現されます。たとえば、time()+3600 を指定すると、Cookie は 1 時間後に期限切れになります。
Cookie を照合するために使用されるパス。サーバー上に同じ名前の Cookie 設定が複数ある場合、このパラメータは混乱を避けるために使用されます。 「/」パスを使用すると、このパラメータを省略した場合と同じ効果があります。 Netscape の Cookie 定義ではパスの前にドメイン名が置かれますが、PHP ではその逆であることに注意してください。
サーバーのドメイン名は、Cookie の照合にも使用されます。サーバーのドメイン名の前にドット (.) を置く必要があることに注意してください。例: ".friendshipcenter.com" 。 3 つ以上の点が存在しない限り、このパラメータは受け入れられないためです。
Cookieのセキュリティレベルは整数です。 1 は、この Cookie が「安全な」ネットワーク経由でのみ送信できることを意味します。 0 または省略された場合は、どのタイプのネットワークでも受け入れられることを意味します。
Cookie と変数
PHP スクリプトがクライアントのブラウザから Cookie を抽出すると、自動的に変数に変換されます。例: CookieID という名前の Cookie は、変数 $CookieID になります。
Cookie の内容は、HTTP_COOKIE_VARS 配列で報告されます。また、この配列と Cookie の名前を通じて、指定された Cookie 値にアクセスすることもできます。各ユーザーを思い出してください
上の submitform.php3 ファイルを見てください。その機能は、顧客の名前をデータベースに追加することです。各ユーザーに一意のユーザー ID を割り当て、この ID を Cookie に入れて、ユーザーが Web サイトにアクセスするたびに、Cookie とその中のユーザー ID を通じてそのユーザーが誰であるかを知ることができるようにしたいと考えています。
MySQL は、各新しいレコードに自動的に番号を割り当てるように設定できます。この番号は 1 から始まり、その後は毎回自動的に 1 ずつ増加します。 1 行の SQL ステートメントで、このようなフィールドをデータ テーブルに簡単に追加できます。これを USERID と呼びます:
PRint $HTTP_COOKIE_VARS[CookieID];
ユーザーの名前をデータベースに入力したら、ブラウザーに Cookie を設定します。このときに使用されるのは、先ほど説明した USERID フィールドの値です:
< ?php mysql_connect (localhost, username, passWord); mysql_select_db (dbname); mysql_query ("INSERT INTO tablename (first_name, last_name) VALUES ('$first_name', '$last_name') "); setcookie("CookieID", mysql_insert_id(), time()+94608000, "/"); /* 三年后 cookie 才会失效 */ ?>
PHP 函数 mysql_insert_id() 返回在最后一次执行了 INSERT 查询后,由 AUTO_INCREMENT 定义的字段的值。这样,只要你不清除掉浏览器的 Cookies ,网站就会永远“记住”你了
读取 cookie
我们来写一个像 Amazon.com 所作的那样的脚本。首先, PHP 脚本会先检查客户浏览器是否发送了 cookie 过来,如果是那样的话,用户的姓名就会被显示出来。如果没找到 cookie 的话,就显示一个表单,让客户登记他们的姓名,然后把他添加到数据库中,并在客户浏览其中设置好 cookie 。
首先,先来显示 cookie 的内容:
< ?php print $CookieID; ?>
然后,就可以把名字显示出来了:
< ?php mysql_connect (localhost, username, password); mysql_select_db (dbname); $selectresult = mysql_query ("SELECT * FROM tablename WHERE USERID = '$CookieID' "); $row = mysql_fetch_array($selectresult); echo " 欢迎你的光临 ", $row[first_name], "!"; ?>
就是这样的了。我在其中没有作判断,交给你自己来完成好了
以上就是PHP 和 MySQL 基础教程(三)的内容,更多相关内容请关注PHP中文网(www.php.cn)!
相关推荐:
mysql手册教程:http://www.php.cn/course/37.html
mysql视频教程:http://www.php.cn/course/list/51.html

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック











MySQLはデータベース管理システムであり、PHPMyAdminはMySQLを管理するためのWebツールです。 1.MYSQLは、データを保存および管理するために使用され、SQL操作をサポートします。 2.PhpMyAdminは、データベース管理を簡素化するためのグラフィカルインターフェイスを提供します。

phpapplicationscanbeoptimizedforspeedandEfficiencyby:1)enabingopcacheinphp.ini、2)PreparedStatementswithpordatabasequeriesを使用して、3)LoopswithArray_filterandarray_mapfordataprocessing、4)の構成ngincasaSearverseproxy、5)

NAVICATとMySQLは、データベース管理と開発効率を改善できるため、完全な一致です。 1.Navicatは、MySQL操作を簡素化し、グラフィカルインターフェイスとSQLステートメントの自動生成を介して作業効率を向上させます。 2.Navicatは、ローカルおよびリモートの管理を促進する複数の接続方法をサポートしています。 3.高度な使用に適した強力なデータ移行と同期機能を提供します。 4.Navicatは、パフォーマンスの最適化と、通常のバックアップやクエリの最適化などのベストプラクティスを支援します。

MySQLは、優れたパフォーマンスと使いやすさとメンテナンスのために人気があります。 1.データベースとテーブルの作成:createdatabaseとcreateTableコマンドを使用します。 2。挿入とクエリデータ:InsertIntoおよび選択ステートメントを介してデータを操作します。 3.クエリを最適化:インデックスを使用してステートメントを説明してパフォーマンスを向上させます。

MySQLとOracleの主な違いは、ライセンス、機能、および利点です。 1。ライセンス:MySQLは無料で使用するためのGPLライセンスを提供し、Oracleは高価な独自のライセンスを採用しています。 2。機能:MySQLには単純な機能があり、Webアプリケーションや中小企業に適しています。 Oracleには強力な機能があり、大規模なデータや複雑なビジネスに適しています。 3.利点:MySQLはオープンソース無料で、スタートアップに適しており、Oracleはパフォーマンスが信頼でき、大企業に適しています。

依存関係注射(DI)を使用する理由は、コードのゆるい結合、テスト可能性、および保守性を促進するためです。 1)コンストラクターを使用して依存関係を注入します。2)サービスロケーターの使用を避け、3)依存関係噴射コンテナを使用して依存関係を管理する、4)依存関係を注入することでテスト可能性を向上させる、5)注入依存性を回避、6)パフォーマンスに対するDIの影響を考慮します。

PhpMyAdminは、Webインターフェイスを介してMySQLデータベース管理を簡素化します。 1)データベースとテーブルの作成:グラフィカルインターフェイスを使用して簡単に動作します。 2)複雑なクエリを実行する:SQLエディターを介して実装されたJoin Queryなど。 3)最適化とベストプラクティス:SQLクエリの最適化、インデックス管理、データバックアップを含む。
