0

私は本当にめちゃくちゃです。PHPを使用してサーバー側の検証を行うためのより簡単な方法または簡単な方法を誰かが教えてくれますか? 私はそれを本当に感謝します.....

4

3 に答える 3

0

簡単なPHPフォームの検証は次のとおりです。

<?php

    // validate $_GET['foo'], here I test that it is at least 1 character long
    $valid = TRUE;
    if( isset($_GET['foo']) && strlen($_GET['foo']) < 1 ) {
        $valid = FALSE;
    }

    // if the form is submitted and $_GET['foo'] is valid, show a success message
    if( isset($_GET['bar']) && $valid ) :

        // do something with the form data
?>

    <p>The form was successfully submitted.</p>

<?php
    // show the form
    else :
?>

    <form method="get" action="">
        <div>
            <label for="foo">Foo: </label>
            <input type="text" id="foo" name="foo" value="<?php echo $_GET['foo']; ?>" />
            <?php if( !$valid ) : ?>
                <p>Please enter a valid value.</p>
            <?php endif; ?>
        </div>
        <div>
            <input type="submit" id="bar" name="bar" value="Bar" />
        </div>
    </form>

<?php
    endif;
?>
于 2012-07-19T17:42:28.773 に答える
0

Marc B が述べたように、簡単な方法はありません。サードパーティのフォーム検証ライブラリ/クラスを使用するか、フォーム検証をコンポーネントとして持つフレームワークを利用できます。私は個人的にZend Frameworkを使用していますが、それはやり過ぎかもしれません。

自分で行う場合は、次の点に注意してください (さらに、必要に応じてさらに多くのことを覚えておいてください)。

  • 特定の目的のフォーマットに従って、データは正しいですか? (つまり、電子メール、電話番号、郵便番号) これはさまざまな方法で検証できます。(正規表現)
  • データベースに挿入しますか、それともページに戻しますか? だったら逃げるべし。単純なメソッドには、htmlentitieshtmlspecialcharsなどがあります。繰り返しますが、特定のニーズによって異なります。
  • 適用したい上限はありますか? その場合、DOM はユーザーが操作でき、inputレベルの制限は簡単に変更できるため、これをサーバー側で行う必要があります。
  • フィールドは必須ですか? POST変数が存在し、空でないことを確認してください。

フォームの要件を書き留めて、そこから検証をどのように実装するかを決定するだけです。

于 2012-07-19T17:35:51.200 に答える