我想在我的应用程序中使用单选按钮。当我单击Male时,我希望它将男性输入到数据库中,当我单击Female时,它会将女性发送到数据库中。
代码看起来像这样
<html>
<head></head>
<title>Radio Test</title>
<body>
<h1>Radio Test</h1>
<form name="testform" id="testform" method="post" action="test.php" />
Name : <input type="text" name="fullname" id="fullname" /></br>
Male <input type="radio" name="male" id="male" value="Male" />
Female <input type="radio" name="female" id="female" value="FeMale" /></br></p>
<input type="submit" name="submit" value="Submit" />
</form>
</body>
</html>
对于HTML区域,现在我想让它成为输出值,但它没有响应。我的PHP看起来像这样,但不是发送一个值,而是发送两个
<?php
$host = "127.0.0.1"
$user = "root"
$pass = ""
$db = "people_info"
$con = mysqli_connect($host, $user, $pass, $db) or die('Cannot Connect :'.mysqli_error());
$fullname = mysqli_real_escape_string($con, $_POST['fullname']);
$male = mysqli_real_escape_string($con, $_POST['male']);
$female = mysqli_real_escape_string($con, $_POST['female']);
$sql = "insert into data (fullname,male,female) values ('".$fullname."', '".$male."', '".$female."')";
mysqli_query($con,$sql) or die ('Failed Query :'.mysqli_error($con));
mysqli_close($con);
?>
我正在考虑使用switch case,但这让它变得更糟。它没有发送任何值..
答案 0 :(得分:1)
我认为,您的表格中应该有一列Gender
。我不确定你为什么要把它存放在两个不同的栏目中。
将您的代码更改为以下
Male <input type="radio" name="gender" id="male" value="Male" />
Female <input type="radio" name="gender" id="female" value="FeMale" /></br></p>
然后,
$gender = mysqli_real_escape_string($con, $_POST['gender']);
答案 1 :(得分:0)
无线电输入中的name
属性指定了它的无线电组。因此,当您尝试提交表单时,它会发送两个值。将两者的name属性指定为gender
之类的东西,它会起作用。
<label for="male">Male</label>
<input type="radio" name="gender" id="male" value="male" />
<label for="female">Female</label>
<input type="radio" name="gender" id="female" value="female" />
在PHP部分中,您只需要请求一次该值,所以请执行以下操作:
$gender = mysqli_real_escape_string($con, $_POST['gender']);