如何上传以 html 表单输入的单选按钮值

Posted

技术标签:

【中文标题】如何上传以 html 表单输入的单选按钮值【英文标题】:How to upload a radio button value entered in an html form 【发布时间】:2019-07-03 22:51:54 【问题描述】:

我已经制作了表单,以便它获取选定的单选值按钮,并将其传递到 php 部分和数据库。但在数据库中,无论选择什么,它都显示为“on”。

我不知道我哪里出错了

html 表单:

<form action="Database.php" name="register" method="post">
<div>
    First Name   <input type="text"  name="fname"/><br>
    Last Name    <input type="text"  name="lname"/><br>
    Email        <input type="email" name="email"/><br>
    Contact No.  <input type="text"  name="num"/><br>
    Gender <br>  <input type="radio" name="g1" value="Male"/>Male

                     <input type="radio" name="g1" value="Female"/>Female
            <br>
            <br>
</form>

PHP:

$fname      = $conn->real_escape_string($_POST['fname']);
$lname      = $conn->real_escape_string($_POST['lname']);
$email      = $conn->real_escape_string($_POST['email']);
$cnumber    = $conn->real_escape_string($_POST['num']);
$gender     = $conn->real_escape_string($_POST['g1']);

$sql="INSERT INTO data (fname,  lname, email, cnumber, gender) 

VALUES ('".$fname. "','".$lname."','".$email."', '".$cnumber."', '".$gender."')";

我希望输出是男性/女性 但它说“开”

【问题讨论】:

您的代码中的提交输入在哪里? How do I get the value of a radio button in PHP?的可能重复 你做得对,我不知道你为什么收到on。所有 radio 输入的名称应该相同,这就是您正在做的事情。 【参考方案1】:

使用您的表单,我使用了一个小代码并发现它有效

<form action="Database.php" name="register" method="post">
    <div>
        First Name   <input type="text"  name="fname"/><br>
        Last Name    <input type="text"  name="lname"/><br>
        Email        <input type="email" name="email"/><br>
        Contact No.  <input type="text"  name="num"/><br>
        Gender <br>  <input type="radio" name="g1" value="Male"/>Male

        <input type="radio" name="g1" value="Female"/>Female
        <br>
        <input type="submit" style="min-width:100%" align="center" name='submit' value="SUBMIT">
        <br>
</form>

你的 PHP 端应该是这样的:

if(!isset($_POST['submit']))

//This page should not be accessed directly. Need to submit the form.
    echo "Submitted";

$fname = $_POST['fname'];
$lname = $_POST['lname'];
$g1 = $_POST['g1'];   
               $sql = "INSERT INTO etrack.test SET
                    fname = '".$fname."',
                    lname = '".$lname."',
                    g1 = '".$g1."'";

    if ($conn->query($sql) === TRUE) 
        echo "";
     else 
        echo "Error: " . $sql . "<br>" . $conn->error;
        echo("Error description: " . mysqli_error($con));
        echo "Error 1";
    

我得到了所需的结果

【讨论】:

以上是关于如何上传以 html 表单输入的单选按钮值的主要内容,如果未能解决你的问题,请参考以下文章

如何将 Bootstrap 中的按钮组转换为表单的单选式输入?

单击提交后如何获取选定的单选按钮以显示特定的隐藏 div?

仅从选定的单选按钮选项提交表单数据

如何使在文本区域中输入的文本对应于特定的单选按钮?

javascript中的单选按钮验证

表单验证失败后表单上的单选按钮无法正确呈现 - 引导