【问题标题】:HTML PHP - form not getting sentHTML PHP - 未发送表单
【发布时间】:2016-08-29 20:22:19
【问题描述】:

我用 HTML 和 PHP 做了一个测验,由于某种原因,当用户提交响应时,页面没有收到它。收集表单数据的代码部分是

    <?php
                $_SESSION["questionnumber"]++;

                if ($_SERVER["REQUEST_METHOD"] == "POST") {
                    $answer =filter_var($_POST["response"], FILTER_SANITIZE_STRING);;

                    If ($answer =="A") {
                         $_SESSION["score"]++;  

                    }

                }

                if ($_SESSION["questionnumber"]==7){
                    header ("Location: quizfinish.php");
                }


                ?>

发送表单的代码是

    <form role="form" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>" method="post" >
                    <table class='table table-response'>
                        <tr>
                            <td class='quiz-response-label'>Your Response</td>
                            <td class='quiz-response'>
                                <input class='response' type='text' name='response' size='1'>
                            </td>
                        </tr>
                    </table>

                    <button class="btn btn-lg btn-primary btn-block" type="submit">Submit Answer</button>

                </form>

谁能看到为什么分数没有增加?顺便说一句,正确的答案总是 A。

编辑:我做了一些测试,我认为它的 if ($_SERVER["REQUEST_METHOD"] == "POST") 不是真的。我还在文件顶部开始了会话。

没关系,我修好了。

【问题讨论】:

  • 你开始会话了吗?
  • print_r($_POST); var_dump($answer)
  • 如有疑问,打印_r/var_dump/echo/记录所有内容。
  • If ($answer =="A") { 中有一个大写的“i”

标签: php html


【解决方案1】:

为了在 php 中使用 SESSION 变量,您必须在操作文件的第一行使用 session_start() 来启动会话。 http://php.net/manual/en/function.session-start.php

【讨论】:

  • 我确实开始了会议
猜你喜欢
  • 1970-01-01
  • 2013-12-10
  • 1970-01-01
  • 1970-01-01
  • 2020-03-12
  • 1970-01-01
  • 2018-01-24
  • 2016-11-11
  • 1970-01-01
相关资源
最近更新 更多