单选按钮值,仅发送一个表单参数
I want to use radio buttons in my application.When i click Male , i want it to input male into the database, when i click Female, it sends female into the database.
Code looks like this
<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>
For the HTML Area, Now i want to make it output values, but it doesnt respond. My PHP looks like this but instead of sending one value, it sends both
<?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);
?>
I was thinking of using switch case, but that made it even worse. It didnt send any values as well..
我想在我的应用程序中使用单选按钮。当我单击Male时,我希望它输入male到数据库中 当我点击女性时,它会将女性发送到数据库中。 p>
代码看起来像这样 p>
对于HTML区域,现在我想让它成为输出值,但它没有响应。 我的PHP看起来像这样但不发送一个值,而是发送 p>
我在考虑使用switch case,但这让它变得更糟。 它也没有发送任何值.. p>
div>&lt; html&gt;
&lt; head&gt ;&lt; / head&gt;
&lt; title&gt; Radio Test&lt; / title&gt;
&lt; body&gt;
&lt; h1&gt; Radio Test&lt; / h1&gt;
&lt; form name =“testform”id =“testform”method =“ post“action =”test.php“/&gt;
名称:&lt; input type =”text“name =”fullname“id =”fullname“/&gt;&lt; / br&gt;
男性&lt; input type =” radio“name =”male“id =”male“value =”男性“/&gt;
女性&lt; input type =”radio“name =”female“id =”female“value =”FeMale“/&gt;&lt; ; / br&gt;&lt; / p&gt;
&lt; input type =“submit”name =“submit”value =“Submit”/&gt;
&lt; / form&gt;
&lt; / body&gt;
&lt; / html&gt;
code> pre>
&lt;?php
$ host =“127.0.0.1”
$ user = “root”
$ pass =“”
$ db =“people_info”
$ con = mysqli_connect($ host,$ user,$ pass,$ db)或die('Can not 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 =“插入数据(全名,男性,女性)值('”。$ fullname。“','”。$ male。“','” 。$ female。“')”;
mysqli_query($ con,$ sql)或die('Failed Query:'。mysqli_error($ con));
mysqli_close($ con);
?&gt;
代码> pre>
I think, you should have one column Gender
in your table. I'm not sure why are you storing it in two different column.
Change your code to following
Male <input type="radio" name="gender" id="male" value="Male" />
Female <input type="radio" name="gender" id="female" value="FeMale" /></br></p>
Then,
$gender = mysqli_real_escape_string($con, $_POST['gender']);
The name
attribute in a radio input specifies it's radio group. Therefore, when you try to submit the form, it sends both values. Specify the name attribute of both to something like gender
, and it would work.
<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" />
And in the PHP portion, you just need to request that value once, so do it with:$gender = mysqli_real_escape_string($con, $_POST['gender']);
</div>