-2

これはコーディングに直接関係する問題ではないので、投稿できるコードはありません。ただし、たとえば、誰かが登録フォームに入力した電話番号が int(8) であるかどうか、および電子メールが有効であるかどうか (IE は @ を含み、.{at least 2 characters} で終わる)、またはより良いメールであるかどうかを確認したいと思います。いくつかの確認メールで。

私はPHPに本当に慣れていないので、学校のプロジェクトに取り組んでいるので、ここで助けてください。

基本的には、フォームから受け取った入力を検証する方法はありますか。あると仮定しているので、どの方法なのか気になります。

すべての情報はデータベースに送られますが、電話番号が int(8) でなくても登録されています。

データベースはMySQLを使用しています。

4

2 に答える 2

1

これは非常に幅広い質問であり、さまざまな答えが考えられます。厳密なPHPを使用するかどうか、またはライブラリを使用できるかどうかによって異なります。

データベース:

まず、データベースから始めます。mysqlが整数ではない文字のセットをデータベースに入れることを許可している場合(電話番号に整数を使用することはありませんが、電話番号のように)、列の設定が間違っています。コマンドを使用してDESCRIBE [TABLE_NAME]、テーブルがどのように設定されているかを確認できます。

PHP:

次に、検証に入ります。ここSOには、電子メールアドレスまたは電話番号を検証するための参照がかなりあります。preg_filter(または同様の)関数を使用します。

投稿されているフォームで、入力をキャッチして検証します。有効な場合は、次のページに進んでください。ただし、エラーが発生した場合は、元のフォームブロックを含めてレンダリングし、(うまくいけば)$ _ POST変数(XSSのフィルタリング)をプルするように記述します。

検証のSO結果は次のとおりです。

  1. 電話番号検証のための包括的な正規表現
  2. 正規表現を使用して電子メールアドレスを検証する

クライアント側:

私のお気に入りは、ある種のクライアント側の検証を追加で実行することです。これにより、顧客はページをポストバックして何が問題だったかを確認する代わりに、その場でエラーを修正できます。

于 2012-12-02T03:32:10.773 に答える
0

jquery の検証を確認してください。しかし、それでも不良データが PHP に到達し、データベースに到達する可能性があります。

フレームワークを使用していますか?それらの多くには、データベースに送信する前またはデータベースに送信するときに実行できるデータバリデータがあり、それに応じて処理します

于 2012-12-02T05:57:09.217 に答える