更新答案的PHP表单

时间:2018-06-18 16:30:41

标签: php

我目前正在使用PHP我是PHP新手,我有很长时间尝试提交表单,然后在每次提交时更新一个值。

所以这是它的要点。我正在将自己的表单提交给自己,此时它运行于此:

<div id="quiz">
    <form method="post" id="test" action="">
        <input type="hidden" value="<?php $question->set_results() ?>">
        Answer A<input type="radio" name="answer" value="a">
        Answer B<input type="radio" name="answer" value="b">
        Answer C<input type="radio" name="answer" value="c">
        Answer D<input type="radio" name="answer" value="d">
        <input type="submit">
    </form>

class test_results{

    public function get_results(){
        $this->lastanswer = array();
        $this->personsanswer = $_POST['answer'];
        $this->allanswers = array_push($this->lastanswer, $this->personsanswer);
        implode($this->lastanswer);
        echo $this->allanswers;


    }
}

在这次运行后它似乎工作但不是更新变量,它只是添加一个我希望它更新的数字。总而言之,我只是希望能够提交表单,在提交表单后我在表单中有一个隐藏字段,我希望它用所选的所有选项更新该隐藏字段。我已经得到它,一次更新一个选项,但不是多次。

我的最终目标是设置一个问卷表单,用户每次填写一个问题的答案,每次提交表格时,隐藏字段都会包含所有之前的答案字母。

1 个答案:

答案 0 :(得分:0)

问题中未指定

set_results()

您需要在$_POST["answer"]内考虑set_results。此外,您还需要发布hidden字段,否则您将丢失信息。因此,首先,将form更改为发布hidden字段:

<div id="quiz">
    <form method="post" id="test" action="">
        <input name="answers" type="hidden" value="<?php $question->set_results() ?>">
        Answer A<input type="radio" name="answer" value="a">
        Answer B<input type="radio" name="answer" value="b">
        Answer C<input type="radio" name="answer" value="c">
        Answer D<input type="radio" name="answer" value="d">
        <input type="submit">
    </form>

然后你需要计算像

这样的东西
$_POST["answers"].($_POST["answers"] ? "," : "").$_POST["answer"]

某处,您将获得正确的结果,并以hidden的形式返回value字段。