
PHP 学習ノート: フォーム処理とデータ検証
Web 開発において、フォームはユーザーが Web サイトと対話するための重要なコンポーネントの 1 つです。ユーザーが Web サイト上でフォームに記入してデータを送信するとき、Web サイトはデータの正確性と安全性を確保するために、送信されたデータを処理および検証する必要があります。この記事では、PHP を使用してフォームを処理し、データ検証を実行する方法を紹介し、具体的なコード例を示します。
- フォームの送信とデータの前処理
HTML では、
コード例:
1 2 3 4 5 | <form action= "form.php" method= "post" >
<input type= "text" name= "username" placeholder= "请输入用户名" >
<input type= "password" name= "password" placeholder= "请输入密码" >
<input type= "submit" value= "提交" >
</form>
|
ログイン後にコピー
上記のコードでは、ユーザー名とパスワードの入力ボックスを含むフォームを作成し、フォームの送信方法を POST に設定し、ターゲット アドレスは "フォーム.php」。ユーザーが送信ボタンをクリックすると、フォーム データが処理のために「form.php」に送信されます。 「form.php」では、$_POST['username'] と $_POST['password'] を使用してユーザー名とパスワードの値を取得できます。
- データ検証
データの正確性と安全性を確保するために、ユーザーが送信したデータを検証する必要があります。一般的なデータ検証方法をいくつか示します。
- 非 null 検証: ユーザーが必須フィールドに入力したかどうかを確認します。
1 2 3 | if ( empty ( $_POST [ 'username' ])) {
echo "用户名不能为空" ;
}
|
ログイン後にコピー
- 長さ制限: ユーザー名とパスワードの長さを制限します。
1 2 3 | if ( strlen ( $_POST [ 'username' ]) < 6 || strlen ( $_POST [ 'username' ]) > 20) {
echo "用户名长度必须在6-20个字符之间" ;
}
|
ログイン後にコピー
- データ形式の検証: ユーザー入力が電子メール、携帯電話番号などの特定の形式に準拠しているかどうかを確認します。
1 2 3 | if (!filter_var( $_POST [ 'email' ], FILTER_VALIDATE_EMAIL)) {
echo "请输入有效的邮箱地址" ;
}
|
ログイン後にコピー
- データ フィルタリング: SQL インジェクションなどのセキュリティ上の問題を防ぐために、ユーザー入力内の特殊文字をフィルタリングします。
1 2 | $username = mysqli_real_escape_string( $conn , $_POST [ 'username' ]);
$password = mysqli_real_escape_string( $conn , $_POST [ 'password' ]);
|
ログイン後にコピー
上の例では、PHP の組み込みの filter_var 関数を使用してデータ形式の検証を実行し、mysqli_real_escape_string 関数を使用してユーザー入力をフィルタリングしました。
- 完全なフォーム処理の例
以下は、フォーム送信とデータ検証を含む完全なフォーム処理の例です:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | <?php
if ( $_SERVER [ 'REQUEST_METHOD' ] == 'POST' ) {
$username = $_POST [ 'username' ];
$password = $_POST [ 'password' ];
if ( empty ( $username ) || empty ( $password )) {
echo "用户名和密码不能为空" ;
} elseif ( strlen ( $username ) < 6 || strlen ( $username ) > 20) {
echo "用户名长度必须在6-20个字符之间" ;
} else {
echo "表单提交成功" ;
}
}
?>
<form action= "" method= "post" >
<input type= "text" name= "username" placeholder= "请输入用户名" >
<input type= "password" name= "password" placeholder= "请输入密码" >
<input type= "submit" value= "提交" >
</form>
|
ログイン後にコピー
上の例では、フォームは、$_SERVER['REQUEST_METHOD'] が 'POST' に等しいかどうかを判断することによって送信されます。次に、データの前処理と検証を実行し、検証結果に基づいて対応するロジックを実行します。検証に合格すると、データをデータベースに挿入したり、その他のビジネス処理を実行したりできます。
概要
この記事の学習を通じて、PHP を使用してフォームを処理し、データ検証を実行する方法を学びました。フォーム処理とデータ検証は Web サイト開発の非常に重要な部分であり、ユーザーが送信したデータの正確性と安全性を確保できます。この記事の内容がPHP初心者の方のお役に立てれば幸いです。
以上がPHP 学習メモ: フォーム処理とデータ検証の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。