2

ラジオボタンの値は「1」、「2」、「3」で、データベースはその値をINTとして受け取るように設定されています。ただし、フォームが送信されると、各フィールドにゼロとしてデータベースに入力されます。これがJSフィドルです

<p><input type="radio"  name="buttons"  value="1">A-Flat

//データベースはすでに接続されています

// variables
$frets =  $_POST["fret"]; 
$fonts =  $_POST["fonts"]; 
$buttons =  $_POST["buttons"];


// if else to display the results
if(isset($_POST['submit'])) {

    // mysql

    $query = "INSERT INTO $tbl_name (frets, fonts, buttons) VALUES ('$frets','$fonts','$buttons') ";
mysql_query ($query);

mysql_close();  

    // stuff
    echo '<h1>Thanks!!</h1>','<p>',"I lied about the prize. Here is a funny video to make up for it.",'</p>','<br />',
        '<iframe width="560" height="315" src="http://www.youtube.com/embed/3-HCs4tRw8o" frameborder="0" allowfullscreen></iframe>';
}

 else {

    // page header
    echo '<h1>', "You broke it!",'</h1> ';

    // message
    echo '<h3 style=text-align:center;>',"Silly Rabbit! Make sure you fill out all the fields!", "<br>",
             "<a href=usertesting.php>Try again.</a>",'</h3>';
 }
?>   
4

1 に答える 1

1

1.の値をエコーし​​ます$buttons。つまりecho $buttons;、そこに何が来るかを確認します。

2.クエリを:に変更します

$query = "INSERT INTO $tbl_name (frets, fonts, buttons) VALUES ('".$frets."','".$fonts."','".$buttons."') ";
mysql_query ($query); 

3.DB内ののデータ型も確認buttonsします

あなたのクエリはSQLインジェクションを起こしやすいです、それを安全にしてください。

mysql_ *関数は、mysqli_*関数またはPDOを使用して使用できません。

于 2013-03-27T04:48:52.720 に答える