Javascript 在PHP/HTML中显示无法正常工作的单选按钮

Javascript 在PHP/HTML中显示无法正常工作的单选按钮,javascript,php,html,mysql,forms,Javascript,Php,Html,Mysql,Forms,我试图为我的调查做一个插入语句,但首先单选按钮没有显示,我认为脚本部分工作不正常。这是一份调查表,我的目标是提交一份调查 我认为脚本部分不起作用 <div style="padding: 40px;"> <iframe name="votar" style="display:none;"></iframe> <?php $con = mysqli_connect("localhost","root","","ime

我试图为我的调查做一个插入语句,但首先单选按钮没有显示,我认为脚本部分工作不正常。这是一份调查表,我的目标是提交一份调查

我认为脚本部分不起作用

     <div style="padding: 40px;">

       <iframe name="votar" style="display:none;"></iframe>

      <?php
$con = mysqli_connect("localhost","root","","imetrics");

$id = $_REQUEST['survey_id'];
$count=1;
$answer=0;
    $query =  "SELECT SF.survey_id, SF.surveytitle, SF.surveycategory, C.categoryname, Q.Option_1, Q.Option_2, Q.Option_3, Q.Option_4, Q.Option_5, Q.Option_6, Q.Option_7, Q.Option_8, Q.Option_9, Q.Option_10 AS pcatname, SF.surveysubcategory, SC.categoryname AS scatname, SF.gender, SF.age, SF.occupation, O.name, SF.occupation_status, SF.status, SFQ.question_id, Q.questiontitle
     FROM surveyform AS SF 
    LEFT JOIN category AS C ON SF.surveycategory = C.category_id
    LEFT JOIN category AS SC ON SF.surveysubcategory = SC.category_id
    INNER JOIN occupation AS O ON SF.occupation = O.occupation_id
    INNER JOIN surveyform_questions AS SFQ ON SF.survey_id = SFQ.survey_id
    INNER JOIN question AS Q ON SFQ.question_id = Q.question_id
 WHERE SFQ.survey_id  = $id";

$result = mysqli_query($con,$query);

if($result) {
    ?>
    <form method="POST" action="insertsurvey.php" target="votar">
        <?php

        while ($row = mysqli_fetch_array($result)) {

            $questions = $row['questiontitle'];


            echo "<b>Question " . $count . ".)</b> " . $questions . "</br>";

            $option1 = $row['Option_1'];
            $option2 = $row['Option_2'];
            $option3 = $row['Option_3'];
            $option4 = $row['Option_4'];
            $option5 = $row['Option_5'];
            $option6 = $row['Option_6'];
            $option7 = $row['Option_7'];
            $option8 = $row['Option_8'];
            $option9 = $row['Option_9'];
            $option10 = $row['Option_10'];

            if (!is_null($option1)) {
                ?>
                <div id="question_<?php echo $count; ?>_option1" style="display: none;">
                    <input type="radio" name="answer[<?php echo $count; ?>]"  value="<?php echo $option1; ?>"> <?php echo $option1; ?>
                </div>
                <br>
                <?php

            }

            if (!is_null($option2)) {
                ?>

                <div id="question_<?php echo $count; ?>_option2" style="display: none;">
                    <input type="radio" name="answer[<?php echo $count; ?>]"
                           value="<?php echo $option2; ?>"> <?php echo $option2; ?>
                </div>
                <br>

                <?php

            }

            if (!is_null($option3)) {
                ?>


                <div id="question_<?php echo $count; ?>_option3" style="display: none;">
                    <input type="radio" name="answer[<?php echo $count; ?>]"
                           value="<?php echo $option3; ?>"> <?php echo $option3; ?>
                </div>
                <br>
            <?php }


            if (!is_null($option4)) {

                ?>


                <div id="question_<?php echo $count; ?>_option4" style="display: none;">
                    <input type="radio" name="answer[<?php echo $count; ?>]"
                           value="<?php echo $option4; ?>"> <?php echo $option4; ?>
                </div>
                <br>

            <?php }

            if (!is_null($option5)) {
                ?>


                <div id="question_<?php echo $count; ?>_option5" style="display: none;">
                    <input type="radio" name="answer[<?php echo $count; ?>]"
                           value="<?php echo $option5; ?>"> <?php echo $option5; ?>
                </div>
                <br>
            <?php }

            if (!is_null($option6)) {
                ?>


                <div id="question_<?php echo $count; ?>_option6" style="display: none;">
                    <input type="radio" name="answer[<?php echo $count; ?>]"
                           value="<?php echo $option6; ?>"> <?php echo $option6; ?>
                </div>
                <br>
            <?php }
            if (!is_null($option7)) {
                ?>


                <div id="question_<?php echo $count; ?>_option7" style="display: none;">
                    <input type="radio" name="answer[<?php echo $count; ?>]"
                           value="<?php echo $option7; ?>"> <?php echo $option7; ?>
                </div>
                <br>
            <?php }
            if (!is_null($option8)) {
                ?>


                <div id="question_<?php echo $count; ?>_option8" style="display: none;">
                    <input type="radio" name="answer[<?php echo $count; ?>]"
                           value="<?php echo $option8; ?>"> <?php echo $option8; ?>
                </div>
                <br>
            <?php }
            if (!is_null($option9)) {
                ?>


                <div id="question_<?php echo $count; ?>_option9" style="display: none;">
                    <input type="radio" name="answer[<?php echo $count; ?>]"
                           value="<?php echo $option9; ?>"> <?php echo $option9; ?>
                </div>
                <br>
            <?php }
            if (!is_null($option10)) {
                ?>
                <div id="question_<?php echo $count; ?>_option10" style="display: none;">
                    <input type="radio" name="answer[<?php echo $count; ?>]"
                           value="<?php echo $option10; ?>"> <?php echo $option10; ?>
                </div>
                <br>
            <?php }
            $count++;
        } ?>



    <input type="submit" name="submit" value="submit"/>
    </form>

            <script src="//code.jquery.com/jquery-1.12.4.js"></script>

            <script type="text/javascript">

                jQuery(function($) {

                    var id1 = <?php echo json_encode($option1); ?>;
                    var id2 = <?php echo json_encode($option2); ?>;
                    var id3 = <?php echo json_encode($option3); ?>;
                    var id4 = <?php echo json_encode($option4); ?>;
                    var id5 = <?php echo json_encode($option5); ?>;
                    var id6 = <?php echo json_encode($option6); ?>;
                    var id7 = <?php echo json_encode($option7); ?>;
                    var id8 = <?php echo json_encode($option8); ?>;
                    var id9 = <?php echo json_encode($option9); ?>;
                    var id10 = <?php echo json_encode($option10); ?>;


                    if (id1 != null) {
                        $("div#option1").show();
                    }

                    if (id2 != null) {
                        $("div#option2").show();
                    }

                    if (id3 != null) {
                        $("div#option3").show();
                    }

                    if (id4 != null) {
                        $("div#option4").show();
                    }

                    if (id5 != null) {
                        $("div#option5").show();
                    }

                    if (id6 != null) {
                        $("div#option6").show();
                    }

                    if (id7 != null) {
                        $("div#option7").show();
                    }

                    if (id8 != null) {
                        $("div#option8").show();
                    }

                    if (id9 != null) {
                        $("div#option9").show();
                    }

                    if (id10 != null) {
                        $("div#option10").show();
                    }

                })(jQuery);

            </script>



</div>
</div>
</body>
    </html>


            <?php

                    }

            ?>

除了Xorifelse提到的SQL注入问题之外,还有HTML的问题。每个问题的name属性都需要不同。让它保持不变是你的单选按钮按原来的方式工作的原因

您可以这样做解决此问题的方法有很多:


每次我看到人们使用不知道漏洞的代码时,我的视网膜都会灼伤。是的,您的代码可能会被删除。请阅读有关如何为或使用准备好的语句的文档。如果你不这样做,请做好准备,有一天你的数据库会泄露到网络上。学习教程或网站,可以帮助你首先,我甚至不能理解你的代码。在这种情况下,我应该把开始标记放在哪里@Davis@Jola,位于where循环上方的任何位置都可以。在你的if$之后,结果就可以了。如果你在里面或外面打开或关闭,将来会更清晰,但两者都可以。谢谢。我刚刚意识到我有更大的问题:我右键单击了问题1中每个单选按钮上的inspect元素,问题1中三个单选按钮的值是answerone,answertwo,answertwo编辑了输入中的名称,这是一个大问题,因为我只希望这三个按钮有一个值/名称@戴维辛。。。我不确定我是否明白发生了什么。你能用更多的细节更新你的问题吗?更新sir@davis
<?php
    while (condition) {
        // do all your stuff

        $count++;
    }
?>

    <input type="submit" name="submit" value="submit" />
</form>
<?php

    // all your same stuff before this mysqli_query call...

    $result = mysqli_query($con,$query);

    if ($result) {
?>
        <form action="php-file.php" method="post">
<?php

        while ($row = mysqli_fetch_array($result)) {

            $questions = $row['questiontitle'];

            echo "<b>Question " . $count . "</b> " . $questions . "<br>";

            $option1 = $row['Option_1'];
            $option2 = $row['Option_2'];
            $option3 = $row['Option_3'];
            $option4 = $row['Option_4'];
            $option5 = $row['Option_5'];
            $option6 = $row['Option_6'];
            $option7 = $row['Option_7'];
            $option8 = $row['Option_8'];
            $option9 = $row['Option_9'];
            $option10 = $row['Option_10'];

            if (!is_null($option1)) {
        ?>
                <div id="question_<?php echo $count; ?>_option1" style="display: none;">
                    <input type="radio" name="answer[<?php echo $count; ?>]" value="<?php echo $option1; ?>"> <?php echo $option1; ?>
                </div>
                <br>
        <?php
            } // if

            if (!is_null($option2)) {
        ?>
                <div id="question_<?php echo $count; ?>_option2" style="display: none;">
                    <input type="radio" name="answer[<?php echo $count; ?>]" value="<?php echo $option2; ?>"> <?php echo $option2; ?>
                </div>
                <br>
        <?php
            } // if

            if (!is_null($option3)) {
        ?>
                <div id="question_<?php echo $count; ?>_option3" style="display: none;">
                    <input type="radio" name="answer[<?php echo $count; ?>]" value="<?php echo $option3; ?>"> <?php echo $option3; ?>
                </div>
                <br>
        <?php
            } // if

            // options 4-9 here, the exact same way as option 1-3 above

            if (!is_null($option10)) {
        ?>
                <div id="question_<?php echo $count; ?>_option10" style="display: none;">
                    <input type="radio" name="answer[<?php echo $count; ?>]" value="<?php echo $option10; ?>"> <?php echo $option10; ?>
                </div>
                <br>
        <?php
            } // if

            $count++;

        } // end while
?>

            <input type="submit" name="submit" value="submit" />
        </form>

<?php

    } // end if (result)
<?php

    # this stuff removed for brevity, but you'd just put the same stuff you had originally

    if ($result) {
?>
    <form method="POST" action="insertsurvey.php" target="votar">
<?php
        while ($row = mysqli_fetch_array($result)) {

            $questions = $row['questiontitle'];

            echo "<b>Question " . $count . ".)</b> " . $questions . "<br>";

            for ($i = 1; $i <= 10; $i++) {
                if (!empty($row['Option_' . $i])) {
        ?>
                <div id="question_<?php echo $count; ?>_option<?php echo $i; ?>">
                    <input type="radio" name="answer[<?php echo $count; ?>]" value="<?php echo $row['Option_' . $i]; ?>"> <?php echo $row['Option_' . $i]; ?>
                </div>
        <?php
                }
            }

            $count++;
        }

        ?>

        <input type="submit" name="submit" value="submit"/>
    </form>

    <!-- no javascript/jquery script needed anymore; though obviously you'd want to restore it if you have javascript doing something else -->

<?php
    }
?>