2017-07-30 12 views
0

私はどこかの次のコードを持っていて、なぜ入力タグに 'value'属性を持つ必要があるのか​​わかりません。私はそれを削除し、コードは完璧に働いた。セキュリティ上の理由からですか?または私は何かを逃している?なぜ入力タグが 'value'属性のユーザ入力を出力するのですか

<input type="text" name="username" placeholder="Enter Username" maxlength = "30" value= "<?php if (isset($_POST['username'])) echo $_POST['username']; ?>" required> 

お時間

+0

に値がありません時にあなたが今使っているものとvalue属性がそれを渡すことができるようにするために必要とされる動作を確認してくださいどこか別の方法に戻して、おそらくそれをそこにエコーバックしてください。 –

+0

*「セキュリティ上の理由からですか?」 - 実際はそうではありませんが、保護したい場合はXSSエクスプロイト/注入を参照してください。 –

+1

これは通常、入力のエラーを報告する場合、ユーザーはエラーではないすべての入力を再入力する必要はありません。基本的には、そのフィールドに表示されている値を、フォームが送信される前にユーザーが入力した値に設定しています – RiggsFolly

答えて

-4

してくれてありがとうはい、あなたは正しい、そこにする必要はないですが、それは入力の一部であり、それなしで、あなたのHTMLは完璧とはみなされません。 HTML Validatorのenter link description hereを通じて次のコードを試してみて、それがinputタグ

<!DOCTYPE html> 
<html> 
<head> 
    <title>Bad Code</title> 
</head> 
<body> 
    <input type="" name=""> 
</body> 
</html> 
関連する問題