首页 > 解决方案 > 提交表单时无法在php中获取单选按钮的值

问题描述

所以我使用了一个表单多个单选按钮,目的是让用户用 10 个问题对网站的不同部分进行评分。

用户按下“开始评分”按钮,出现第 1 个问题,然后出现第 2 个问题,以此类推。
当他完成所有 10 个问题时,出现一个提交按钮。

问题是,当我试图在 PHP 上检索这些值时,我什么也得不到,就像根本没有按下单选按钮一样。

HTML新手。

HTML

<form name="f1" action="rate.php" method="POST">
        <!--1η ερώτηση-->
        <div class="question_div" id="question_div1">
            <center><p class="questiontitle"><b>Ερώτηση 1 από 10</b></p></center>
            <p>Νομίζω ότι θα ήθελα να χρησιμοποιώ αυτά τα παιχνίδια συχνά.</p>

            <div class="answer_div">
                <div class="answer_options">
                    <label class="opt_label">
                        <input type="radio" name="input1" id="input1_1" value="1" class="option">
                        <span class="opt_span"><b>1</b></span>
                    </label>
                    <label class="opt_label">
                        <input type="radio" name="input1" id="input1_2" value="2" class="option">
                        <span class="opt_span"><b>2</b></span>
                    </label>
                    <label class="opt_label">
                        <input type="radio" name="input1" id="input1_3" value="3" class="option">
                        <span class="opt_span"><b>3</b></span>
                    </label>
                    <label class="opt_label">
                        <input type="radio" name="input1" id="input1_4" value="4" class="option">
                        <span class="opt_span"><b>4</b></span>
                    </label>
                    <label class="opt_label">
                        <input type="radio" name="input1" id="input1_5" value="5" class="option">
                        <span class="opt_span"><b>5</b></span>
                    </label>
                </div>

                <div class="answer-options">
                    <div align="left" style="width:20%;
                                             float:left;
                                             margin-right:30px;">Διαφωνώ απολύτως</div>
                    <div align="right" style="width:20%;
                                              float:right;
                                              margin-left:30px;">Συμφωνώ απολύτως</div>
                </div>
            </div>




            <button class="nextbtn" type="button" id="btn1" onclick="(function(){
                                                                                    document.getElementById('question_div1').style.display = 'none';
                                                                                    document.getElementById('question_div2').style.display = 'block';
                                                                                    return false;
                                                                                })();return false;">Επόμενη Ερώτηση</button>

        </div>

这是表格和第一个问题的开始,其他问题遵循相同的架构。

PHP:

if(!empty($_POST["f1"])){
    $q1 = $_POST['input1'];
    $q2 = $_POST['input2'];
    $q3 = $_POST['input3'];
    $q4 = $_POST['input4'];
    $q5 = $_POST['input5'];
    $q6 = $_POST['input6'];
    $q7 = $_POST['input7'];
    $q8 = $_POST['input8'];
    $q9 = $_POST['input9'];
    $q10 = $_POST['input10'];
    }

标签: phphtml

解决方案


这是因为您具有<input type="radio" name="input1" id="input1_1" value="1" class="option">相同的name价值。尝试删除您的namea 属性<form>并先执行一个收音机,然后在您的 php 文件中执行以下操作:

HTML

<form method="POST" action='rate.php'>
    <div> question </div>
    <input type="radio" name="input1">
    <input type="submit">
</form>

率.php

<?php
if(isset($_POST['input1']) {
    echo $_POST['input1'];
    //do your code here
}

推荐阅读