PHP コードを使用したパスティー: http://pastie.org/6427151
HTML フォームを使用したパスティ: http://pastie.org/6427155
なぜこれがうまくいかないのですか?「すべてのフィールドに入力してください」と吐き出します。フィールドがすべて正しく入力されていても。私はPHPについてほとんど知らないので、簡単なものである可能性があります。私はこの同じスクリプトを別の Web サイトで使用していますが、そこでは問題なく動作するため、困惑しています。
PHP コードを使用したパスティー: http://pastie.org/6427151
HTML フォームを使用したパスティ: http://pastie.org/6427155
なぜこれがうまくいかないのですか?「すべてのフィールドに入力してください」と吐き出します。フィールドがすべて正しく入力されていても。私はPHPについてほとんど知らないので、簡単なものである可能性があります。私はこの同じスクリプトを別の Web サイトで使用していますが、そこでは問題なく動作するため、困惑しています。
のマークアップの入力フィールドには属性formが必要です。nameこのname属性は、ユーザーが送信した$_POSTor配列内の値にアクセスするためのキーとして機能します。$_GET
したがって、次のものが必要です。
<form ... method="post">
...
<input type="text" name="name" id="name" placeholder="Name" ... />
...
<input type="email" name="email" id="email" placeholder="Email" ... />
...
<textarea name="message" id="message" ... ></textarea>
次に、それぞれを使用してアクセスしますname(大文字と小文字が区別されます):
$name = $_POST['name']; // not $_POST['Name'], or $_GET['name']
また、処理するユーザーランドから送信されたすべてのコンテンツを慎重に検証してサニタイズしてください。
まず、フォームからデータを送信するすべての 、、および要素にname属性を定義します。inputtextareaselectbutton
また、スクリプトに表示される内容を最適filter_var()に処理するために、FILTER_VALIDATE_EMAILフラグを使用することもお勧めします。
// If invalid, this will return nothing.
// If valid, the email address as a string.
function validateEmail($eamil) {
return filter_var($email, FILTER_VALIDATE_EMAIL);
}
これはベスト プラクティスであり、他のスクリプト バージョンよりも安全です。この関数で使用できるその他の価値のあるフィルターおよび検証フラグもあります。
すべてのタイプnameで属性を定義する必要があります。input
<input type="text" placeholder="Name" class="full" required name="name" id="name" />
name属性値はに関連しています。$_POST定義後、name attributeの値を取得できます$_POST['name']。
name attributesすべての入力フィールドを定義するのを忘れています。
は要素のname attribute名前を指定します<input>。
は、 JavaScriptname attributeの要素を参照するため、またはフォームの送信後にフォームデータを参照するために使用されます。
<input type="text" placeholder="Name" name="name" class="full" required id="name" />
<input type="email" placeholder="Email" name="email" class="full" required id="email" />
<textarea id="message" cols="30" name="message" rows="10" class="full"></textarea>