PHP は多対 1 のアドレス帳を実装します: シンプルで実用的な連絡先管理
ソーシャル ネットワークの普及に伴い、人々の社会的関係はますます複雑になってきました。連絡先情報の管理もますます重要になっています。これに関連して、シンプルで実用的な連絡先管理システムを開発することが特に重要になります。この記事では、PHP を使用して多対 1 のアドレス帳を実装し、連絡先情報を追加、削除、変更、検索する方法を紹介します。
機能設計
連絡先管理システムを設計する前に、主に以下を含むシステムの機能モジュールを決定する必要があります。
- 連絡先の追加: ユーザーは次のことができます。連絡先の名前、電話番号、電子メール、その他の情報を入力して新しい連絡先を追加します。
- 連絡先の削除: ユーザーは指定した連絡先を削除できます。
- 連絡先情報の変更: ユーザーは既存の連絡先の情報を変更できます。
- 連絡先の検索: ユーザーは、名前または電話番号で指定した連絡先に関する情報を検索できます。
データベース設計
まず、連絡先情報のデータベース テーブル構造を設計する必要があります。以下は、単純な連絡先テーブルの設計です:
CREATE TABLE contacts ( id INT AUTO_INCREMENT 主キー、 名前 VARCHAR(50) NOT NULL、 電話 VARCHAR(20) NOT NULL、 電子メール VARCHAR(50)、 アドレス VARCHAR(100) );
PHP コードの実装
次に、PHP を使用して上記の関数を実装するコードを記述します。以下は、連絡先の追加、削除、連絡先情報の変更、連絡先の検索の機能を含む単純な PHP ファイルです。
<?php // 接続データ库 $host = 'ローカルホスト'; $ユーザー名 = 'ルート'; $パスワード = ''; $database = 'contact_manager'; $conn = new mysqli($host, $username, $password, $database); if ($conn->connect_error) { die("接続失敗: " . $conn->connect_error); } // 追加联系人 function addContact($name, $phone, $email, $address) { グローバル $conn; $stmt = $conn->prepare("連絡先 (名前、電話番号、メールアドレス、住所) の値 (?, ?, ?, ?) に挿入"); $stmt->bind_param("ssss", $name, $phone, $email, $address); $stmt->execute(); $stmt->close(); } // 删除联系人 関数 deleteContact($id) { グローバル $conn; $stmt = $conn->prepare("連絡先 WHERE id = ?" から削除); $stmt->bind_param("i", $id); $stmt->execute(); $stmt->close(); } // 修正联系人情報 function updateContact($id, $name, $phone, $email, $address) { グローバル $conn; $stmt = $conn->prepare("UPDATE 連絡先 SET name = ?、電話 = ?、電子メール = ?、アドレス = ? WHERE id = ?"); $stmt->bind_param("ssssi", $name, $phone, $email, $address, $id); $stmt->execute(); $stmt->close(); } // 查找联系人 関数 searchContact($keyword) { グローバル $conn; $stmt = $conn->prepare("SELECT * FROM 連絡先 WHERE 名前 LIKE ? OR 電話 LIKE ?"); $keyword = "%" 。 $キーワード 。 "%"; $stmt->bind_param("ss", $keyword, $keyword); $stmt->execute(); $result = $stmt->get_result(); $contacts = array(); while ($row = $result->fetch_assoc()) { $contacts[] = $row; } $stmt->close(); $contacts を返します。 } // 例を使用する addContact("张三", "1234567890", "zhangsan@example.com", "北京市海淀区"); 削除連絡先(1); updateContact(2, "李四", "0987654321", "lisi@example.com", "上海市浦东新区"); $searchedContacts = searchContact("张"); print_r($searchedContacts); // 关闭データ库接続 $conn->close(); ?>
継続
# 私たちは、上記の機能を追加、削除、修正、および変更する、単純な実用的なアレーシステム管理システムを実現しました。さらに言えば、私たちはユーザーにもっと完璧なシステム管理者テストを提供することを望んでいます。
以上がPHP は多対 1 のアドレス帳を実装します: シンプルで実用的な連絡先管理の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

PHPSESSIONの障害の理由には、構成エラー、Cookieの問題、セッションの有効期限が含まれます。 1。構成エラー:正しいセッションをチェックして設定します。save_path。 2.Cookieの問題:Cookieが正しく設定されていることを確認してください。 3.セッションの有効期限:セッションを調整してください。GC_MAXLIFETIME値はセッション時間を延長します。

PHPでセッションの問題をデバッグする方法は次のとおりです。1。セッションが正しく開始されるかどうかを確認します。 2.セッションIDの配信を確認します。 3.セッションデータのストレージと読み取りを確認します。 4.サーバーの構成を確認します。セッションIDとデータを出力し、セッションファイルのコンテンツを表示するなど、セッション関連の問題を効果的に診断して解決できます。

session_start()への複数の呼び出しにより、警告メッセージと可能なデータ上書きが行われます。 1)PHPは警告を発し、セッションが開始されたことを促します。 2)セッションデータの予期しない上書きを引き起こす可能性があります。 3)session_status()を使用してセッションステータスを確認して、繰り返しの呼び出しを避けます。

PHPでのセッションライフサイクルの構成は、session.gc_maxlifetimeとsession.cookie_lifetimeを設定することで達成できます。 1)session.gc_maxlifetimeサーバー側のセッションデータのサバイバル時間を制御します。 0に設定すると、ブラウザが閉じているとCookieが期限切れになります。

データベースストレージセッションを使用することの主な利点には、持続性、スケーラビリティ、セキュリティが含まれます。 1。永続性:サーバーが再起動しても、セッションデータは変更されないままになります。 2。スケーラビリティ:分散システムに適用され、セッションデータが複数のサーバー間で同期されるようにします。 3。セキュリティ:データベースは、機密情報を保護するための暗号化されたストレージを提供します。

PHPでのカスタムセッション処理の実装は、SessionHandlerInterfaceインターフェイスを実装することで実行できます。具体的な手順には、次のものが含まれます。1)CussentsessionHandlerなどのSessionHandlerInterfaceを実装するクラスの作成。 2)セッションデータのライフサイクルとストレージ方法を定義するためのインターフェイス(オープン、クローズ、読み取り、書き込み、破壊、GCなど)の書き換え方法。 3)PHPスクリプトでカスタムセッションプロセッサを登録し、セッションを開始します。これにより、データをMySQLやRedisなどのメディアに保存して、パフォーマンス、セキュリティ、スケーラビリティを改善できます。

SessionIDは、ユーザーセッションのステータスを追跡するためにWebアプリケーションで使用されるメカニズムです。 1.ユーザーとサーバー間の複数のインタラクション中にユーザーのID情報を維持するために使用されるランダムに生成された文字列です。 2。サーバーは、ユーザーの複数のリクエストでこれらの要求を識別および関連付けるのに役立つCookieまたはURLパラメーターを介してクライアントに生成および送信します。 3.生成は通常、ランダムアルゴリズムを使用して、一意性と予測不可能性を確保します。 4.実際の開発では、Redisなどのメモリ内データベースを使用してセッションデータを保存してパフォーマンスとセキュリティを改善できます。

APIなどのステートレス環境でのセッションの管理は、JWTまたはCookieを使用して達成できます。 1。JWTは、無国籍とスケーラビリティに適していますが、ビッグデータに関してはサイズが大きいです。 2.cookiesはより伝統的で実装が簡単ですが、セキュリティを確保するために慎重に構成する必要があります。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

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

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

WebStorm Mac版
便利なJavaScript開発ツール

ホットトピック









