0
私はHTMLフォームを作成したいと思います。ユーザーは自分の名前を入力して送信することができますが、ユーザーは入力した名前を入力しないので、警告メッセージにエラーメッセージが表示されません。ここでブラウザのデバッグツールからフォームの入力値を変更できないようにするにはどうすればよいですか?
がform.php
<form name="myForm" action="b.php" method="post">
Name: <input type="text" name="fname">
<input type="submit" value="Submit" onclick="return validateForm()">
</form>
<script>
function validateForm() {
var x = document.forms["myForm"]["fname"].value;
if (x == "") {
alert("Name must be filled out");
return false;
}
}
</script>
についての私のコードで、成功提出し、情報が
<?php
echo $_POST[fname];
?>
しかし、ユーザーの使用ブラウザb.phpこのページb.php に行きますデバッグツール(chromeなど)は、フォーム入力 "name" "id" "class" .etc値を変更できます。この場合、ユーザーがフォーム名の値を変更すると、フォームは名前を記入せずに送信できます。
この問題を解決するにはどのようなアイデア.....または検証にjavascriptを使用するとよい選択ではありませんか?おかげ
は、ここでは画像の説明サーバー側の検証はこれを処理します
あなたはサーバー側の検証について聞いたことがありますか? – madalinivascu
実際にはすべてのフォームをループすることができます。検証でフォームの名前を指定しないでください。ドキュメント上のすべてのフォームをチェックするだけです。私はこれを個人的にはしません、悪いことはバックエンドの検証だけです。 – Eddie
人がフォームを変更するのを止めることは決してできません。誰でもHTMLを保存し、変更し、代わりにcURLを使って投稿することができ、JSの検証などは役に立たなくなります。 JSの検証は、ユーザーにとって便利なだけです(無効なフィールドなどのヒントを得るためにサーバーにデータを送信する必要はありません)。あなたは常にサーバ上でそれを検証する必要があります。基本的には、クライアントからは何も信じられません。 –