私は、<form>
というHTMLを提出し、input
とselect
の情報をMySQLデータベーステーブルに入力しようとしています。私のコードは<input type="text">
のデータをテーブルに入力していますが、<select>
のデータを入力していません。MySQLデータベースにHTML選択/ドロップダウンフォームを送信
これは私が使用している<form>
です:
<form enctype="multipart/form-data" action="send.php" method="post">
<select name="gender">
<option value="Male"> Male</option>
<option value="Female">Female</option>
</select>
<input type="text" name="name">
<input type="submit" value="Add">
</form>
そして、これは私がテーブルにフォームを入力するために使用してきたPHPです:
<?php
$gender=$_POST['gender']; // This is the select/dropdown
$name=$_POST['name']; // This is the text input
mysql_connect("", "", "") or die(mysql_error()) ;
mysql_select_db("") or die(mysql_error()) ;
mysql_query("INSERT INTO `table1` VALUES ('$gender', '$name')") ;
?>
MySQLの表1にcolumsです:[ママのエクスプロイト](http://xkcd.com/327/)。 –
ハハ、リンクされた漫画Joeは素晴らしいです。誰でも$ _POST(またはユーザが入力したデータ)を直接mysql文に挿入しないでください。それはいくつかの大きなセキュリティホールを開く。メソッド[mysql_real_escape_string](http://php.net/manual/en/function.mysql-real-escape-string.php)を見てください。それは完璧ではありませんが、始まりです。それ以外にも、データがテーブルに入らない理由を理解するためには、より多くの情報が必要です。 mysqlはエラーを投げていますか? [print_r](http://us2.php.net/manual/en/function.print-r.php)を使用して、フォームからデータを正しく取得していることを確認してください。 – jbarreiros