ホームページ >バックエンド開発 >PHPチュートリアル >メールの確認でサインアップフォームをコーディングする方法
登録フォームをゼロから作成します
重要なファイルを簡単に見てみましょう:
index.php
confirm.php
signup_template.html
signup_template.txt
inc/php/config.php
PHPMyAdminまたはMySQLデータベースを管理し、新しいデータベースを作成するために使用するプログラムを開きます。あなたはそれを好きなように名前を付けることができますが、私はそれを
に名前を付けます。次に、ユーザー情報と確認情報を保存するスキーマを作成する必要があります。これを行うには、2つのテーブルを作成します:email_signup
とusers
。 confirm
<code class="language-sql">CREATE TABLE `users` ( `id` int(11) NOT NULL auto_increment, `username` varchar(50) NOT NULL default '', `password` varchar(128) NOT NULL default '', `email` varchar(250) NOT NULL default '', `active` binary(1) NOT NULL default '0', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;</code>上記のmysqlステートメントは、
という名前のテーブルを作成します。 users
id
として定義されます。つまり、最大11ビット整数を保持できます。 int(11)
username
として定義されます。つまり、最大50文字を節約できます。 varchar(50)
password
と定義されています。つまり、最大128文字を保持できることを意味します。 varchar(128)
email
と定義されています。つまり、最大250文字を節約できます。 varchar(250)
active
として定義されます。つまり、バイト値を保存し、0は不活性で、1はアクティブ化されます。 binary(1)
表:confirm
<code class="language-sql">CREATE TABLE `confirm` ( `id` int(11) NOT NULL auto_increment, `userid` varchar(128) NOT NULL default '', `key` varchar(128) NOT NULL default '', `email` varchar(250) default NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;</code>上記のmysqlステートメントは、
という名前のテーブルを作成します。 confirm
id
:レコードを確認するための一意の識別子として使用される整数シーケンス。これはint(11)
として定義されます。つまり、最大11ビット整数を保持できます。 userid
:確認レコードに関連付けられたユーザーIDを保存する文字列列。これはvarchar(128)
と定義されています。つまり、最大128文字を保持できることを意味します。 key
:ユーザーのメールアドレスに送信された確認キーを保存する文字列列。これはvarchar(128)
と定義されています。つまり、最大128文字を保持できることを意味します。
ファイルのコードをすばやく抽出して理解させてください。 inc/php/config.php
<code class="language-sql">CREATE TABLE `users` ( `id` int(11) NOT NULL auto_increment, `username` varchar(50) NOT NULL default '', `password` varchar(128) NOT NULL default '', `email` varchar(250) NOT NULL default '', `active` binary(1) NOT NULL default '0', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;</code>最初に、新しいMySQLI接続を作成します。次に、接続が成功しているかどうかを確認します。接続が失敗した場合、エラーメッセージが表示されて終了します。
フォーム提出処理
...(ここでは、いくつかのコードが省略されています。元のテキストのコードのこの部分は長く、擬似オリジナルの目標と矛盾しているため、コアロジックを維持してください)...
主なロジックは、ユーザー入力を安全に処理する(たとえば、
関数を使用してSQLインジェクションを防ぐ)、ユーザー入力が完了していることを確認し、ユーザーデータをデータベースに挿入し、確認キーを生成し、確認メールを送信します。パスワードはMD5関数を使用してハッシュされ、より安全な暗号化方法を使用することをお勧めします。 mysqli_real_escape_string
ファイルから重要なコードスニペットを抽出して、それがどのように機能するかを理解しましょう。 confirm.php
<code class="language-sql">CREATE TABLE `confirm` ( `id` int(11) NOT NULL auto_increment, `userid` varchar(128) NOT NULL default '', `key` varchar(128) NOT NULL default '', `email` varchar(250) default NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;</code>
結論
以上がメールの確認でサインアップフォームをコーディングする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。