私もphpと似ていますが、どこに問題があるのか??分かりません。
php 関數(shù)が
のような空のメッセージを送信することがあります。両親の名前
遅すぎる:###### リン: ###### 電話番號(hào):###### Eメール:###### 生年月日:###### メッセージテキスト:
ただし、次のような値で満たされる必要があります
親の名前のテスト
間違いが多すぎます: テスト
リン: テスト
電話番號(hào): テスト 電子メール: test@test生年月日: 21313
メッセージテキスト: テスト
これは私のphpコードです
リーリー
何が問題だったのでアドバイスをお願(yuàn)いします。
スクリプトが単なるフォーム ハンドラーの場(chǎng)合は、先頭に if(empty($_POST)) { die('No form data!'); }
を追加して実行されないようにすることができます。 , 回答フォームが提出されていない場(chǎng)合。
すべてのフィールドに入力する必要がある場(chǎng)合は、電子メールを処理する前に各フィールドを確認(rèn)する必要があります。これらすべての isset
を 1 つの巨大な if(isset(...)
ステートメントに詰め込むこともできます。ただし、よりシンプルで読みやすい方法があります。まず、設(shè)定しましょう。いくつかの変數(shù)を上げます:
次にフィールドをループし、値が存在する場(chǎng)合はそれを $data
に追加します。存在しない場(chǎng)合はエラー コメントを追加します。
エラーが発生した場(chǎng)合 (= フィールドが欠落している場(chǎng)合)、電子メールは送信されません。ボーナスとして、$fields 配列を変更するだけで、同様の機(jī)能を持つ他のフォームで使用できる 再利用可能なコード
が手に入りました。 (本當(dāng)に再利用する必要がある場(chǎng)合は、コードをコピーして貼り付けないで、関數(shù)にラップすることをお?jiǎng)幛幛筏蓼埂?function x($post, $fields) { ... }
使用基本的な操作ヘルパー関數(shù)用。)
ここでは isset
ではなく empty
を使用していることに注意してください??栅违榨┅`ムが送信された場(chǎng)合、フィールド が設(shè)定されます (空の文字列 ""
)。また、empty
は、false
に等しいものに対して true
を返すことにも注意してください (つまり、""
、0)
、false
、null、[]
)。 ( 「0」が期待され許容可能な値である場(chǎng)合は、その「空」に注意してください! ) 一方、# 以外の値には isset
が設(shè)定されます。 ##null の內(nèi)容は true を返します。