如何在数据库中提交单选按钮应答?

时间:2017-04-22 14:59:47

标签: php html mysql phpmyadmin

这是我写的代码:

的index.html

<!DOCTYPE html>
<html>
<head>
</head>
<body>

<form action="db.php" method="post">

YES:<input type="radio" name="YES" value="YES">

NO:<input type="radio"  name="NO"  value="NO" >

<input type="submit" name="submit value="submit">
</form>

</body>
<html>

db.php中

<?php

    $con = mysqli_connect('localhost','my user id','my password');
    if(!con)
    { echo 'not connected to server';}else { echo 'something else is wrong' ;}

    if(!mysqli_select_db($con,'my user id')
    { echo 'Database error selection';}

    $YES = $_POST['YES'];
    $NO = $_POST['NO'];

    $sql = INSERT INTO users (YES,NO) VALUES ('$YES','$NO');

    if(!mysqli_query($con,$sql))
    { echo 'Answer not submitted please try again!!!!!!!!';}
    else{
    echo 'Your answer successfully submitted \n Thanks for participating';}

    header(" refresh:2; url=index.html");

?>

它有些不对劲。 任何人都可以告诉我有什么问题吗?

注意:如果2个用户提交YES,那么在数据库中YES将获得int值为2 如果1个用户提交NO,那么在数据库中NO将获得int值为1。

2 个答案:

答案 0 :(得分:0)

您正在以错误的方式使用单选按钮。单选按钮应具有相同的“名称”。在您的情况下,您可以使用name =“yesno”。

	YES:<input type="radio" name="yesorno" value="yes">
	NO:<input type="radio" name="yesorno" value="no">

对于你的PHP,它应该是这样的。

 <?php

if (isset($_POST['submit'])) {
	$yesorno=$_POST['yesno'];
	 $sql = INSERT INTO users (columnName) VALUES ('$yesorno');
	 mysqli_query($con,$sql); // Execute query
}
?>

请尽可能明确地表达您的目标。现在我确定了你的编码语义有什么问题。

答案 1 :(得分:0)

上面看起来不错。另一种方法是添加标签:

<label for="yesorno">Question:</label>
<input type="radio" name="yesorno" value="yes">YES:
<input type="radio" name="yesorno" value="no">NO:<br />