2016-10-28 10 views
0

は、あなたはそれで次のフィールドを持つPHPのフォームを持っています。サーバーへのsubmitted、ページフィールドを検証し、それが無効だ場合、それはで同じページを返します。シンプルなPHPフォームのテンプレート

  1. エラーメッセージ
  2. フォームのテキスト入力ボックスの周りに赤い枠線
  3. 値ユーザーは、もともと私はif then else構文を使用すると、無効な場合code block 2を返すことができ、フォームの入力テキストボックス

の内側に、入力されました。

(コードブロック2)

<?php echo "The form field with red border has an invalid entry"; ?> 
City: <input type="text" name="city" 
style="border-color:red" value="<?php echo $record->city ?>"><br> 

あなたは、あなたがそれを行うだろうか、code block 2を必要としないようにcode block 1にいくつかのテンプレートを追加した場合に私の質問は、ありますか? (任意の外部のテンプレートライブラリやPHPのフレームワークなし)

  1. 純粋なPHPの答え:

    あなた答えを絞り込んでくださいはに設定します。

  2. は、彼らが知っている唯一のサーバ側のスクリプトである(誰もがそれほど経験がない)人に適しています。
+2

回答が多すぎるか、この回答の回答が長すぎる可能性があります。回答セットを絞り込むか、いくつかの段落で回答できる問題を特定するための詳細を追加してください。私は一般的な問題を解決するための開発フォーラム(おそらく[Quora](http://www.quora.com/Computer-Programming))を見つけることをお勧めします。次に、特定のコーディング上の問題がある場合は、StackOverflowに戻ってください。お手伝いします。 –

+0

@JayBlanchardさて、質問を絞り込んでいます。 –

答えて

0

の代わりに使用して、あなたは、$ has_error関連する配列を作成し、そのようなあなたの元のフォームに直接それを統合することができ/他の場合:

City: 
<input type="text" name="city" class="<?= $has_error['city']['class'] ?>" value="<?= $record->city ?>"> 
<span><?= $has_error['city']['message'] ?></span> 
<br> 

などのようなあなたの検証エラー構造:

$has_error = [ 
    'city' = [ 
    'class' => '', 
    'message'=> '' 
    ] 
] 

次に、検証側でエラークラスとメッセージを適用します(フォームを送信したことがあります)。だから、city入力フィールドが検証に合格しなかったとき、あなたの$has_error配列は次のようになります。

.error{ 
    border: 2px solid red; 
} 
+0

ありがとうございます。 'URL変数'によって 'GET'型リクエストを意味しますか?また、 '$ _SESSION ['xyz']'変数を使うことの利点はありますか? –

+1

$ _SESSIONはこの状況でうまくいくでしょう。 – dylpickle

+0

誰かがこの回答を下落させました。なぜコミュニティの人々が悪質で暴力的なのですか? –

0

これは次のようになり取り組むための簡単な方法:

$has_error = [ 
    'city' = [ 
    'class' => 'error', 
    'message'=> 'This field has an error' 
    ] 
] 

あなたのエラー・クラスは次のようになりますcode block 2の書式をCSSファイルに追加し、PHPを使用してクラスを入力に追加します。

CSS:

.errorField { 
    border-color: red; 
} 

HTML /インラインPHP:

City: <input type="text" <?php echo errorCity ? 'class="errorField"' : '' ?> name="city" value="<?php echo $record->city ?>"><br> 

、入力が無効である場合は、あなたの検証PHPがtrueerrorCityを設定しています。

インラインPHPは、bool errorCityの値をチェックし、class="errorField"が真であればエコーし、偽であればエコーします。

+0

誰かがこの回答を下落させました。なぜコミュニティの人々が悪質で暴力的なのですか? –

+1

私は分かりません。それは私の心を傷つける:(評判はここでは得ることは難しい、と私はあなたのupvote笑を見たときに興奮した。 –

関連する問題