这是我写的代码:
的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。
答案 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 />