0

PHP 5 フォームを MySQL データベースに挿入する最良の方法は何ですか?

<form  action="script.php" method="post">
 <fieldset>
  <input id="name" type="text" placeholder="name" />
  <input type="submit" value="Opslaan" />           
 </fieldset>
</form>​    

まだ全部使ってもらっていいですか?

$name= $_POST['name'];  
$name = stripslashes($name);  
$name = mysql_real_escape_string($name);

mysql_connect($host,$username,$password);
@mysql_select_db($database) or die( "Unable to select database");
$query = "INSERT INTO names VALUES ('','$name')";
mysql_query($query);
mysql_close();

これを行うと、スクリプトは ID のみを入力するため、名前フィールドは空のままです..

編集: PHP 5 で PDO または mysqli を使用する方法 (最新の標準による)?

4

2 に答える 2

2

名前の入力には name attribute="name" が必要です。

<input type="text" id="name" name="name" placeholder="Enter your name" />

あなたの答えに完全に対処するには。

  • mysql_* ライブラリは最新の PHP では推奨されておらず、使用しないでください。代わりに PDO または MySQLi を使用してください。それを指摘してくれた Prix に感謝します。
  • ユーザーが提供するデータをサニタイズする必要があります。この質問は以前に尋ねられたもので、適切な回答がここにあります: PHP でユーザー入力をサニタイズするための最良の方法は何ですか?
  • _POST パラメータが名前の入力に対して何もしていない理由は、上記の事実によるものです。
于 2013-08-30T22:30:55.470 に答える