0

では、フォームによって送信されたデータをサーバー側でどのように検証しますか?

あなたはこのようなことをします:

if($_POST['field_name'] == 'foo')
{
  $error['field'] = 'Please try again';
}

if($_POST['something'] == 'two')
{
  $error['field_2'] = 'Please try again';
}

if($_POST['field_3'] == 'something')
{
  $error['field_3'] = 'Please try again';
}

これは正しいですか?これが最善の解決策ですか?

// LE EDIT

私の質問は、これがそれを行う正しい方法であるかどうかです。多くのifステートメントを使用して、フォームをチェックするために20個のifを使用できますか?これが正しい方法であることを確認したかっただけです。多くのifステートメントを使用している場合は大したことではありません(問題)

4

3 に答える 3

3

Not really, I don't think you know what the values should be so this will not work.

You should look at every field to determine what it can be. For numbers you can use functions like is_numeric and for e-mail addresses and urls you can use php's filter functions. For other stuff you can use regular expressions, etc.

于 2012-11-08T22:29:07.097 に答える
0

PHP でフォームの検証を処理するために事前に作成されたいくつかのライブラリ (関数、クラス) が既にあります。

http://www.google.com/search?q=form+validation+php

この時点で、非常に一般的なものに対するカスタム ソリューションを作成するのに時間を費やす必要があるとは思えません。おそらくルールは異なるでしょうが、それはすべて既存のコードでカスタマイズ可能です。

(言うまでもなく、フォームの生成と検証が組み込まれている多くの PHP フレームワークのいずれかを使用できます)。

于 2012-11-08T22:33:40.520 に答える
0

ほとんどの人は、独自のバリデータを作成するときにGREPを使用します。検証は、各タイプのフィールドに固有の関数に保存できます。

ほとんどの人は、 SQL インジェクションの検証に注目しています。

Code Ignitor のような優れたフレームワークは、検証メカニズムを提供します

于 2012-11-08T22:35:47.367 に答える