我目前正在使用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;
}
}
在这次运行后它似乎工作但不是更新变量,它只是添加一个我希望它更新的数字。总而言之,我只是希望能够提交表单,在提交表单后我在表单中有一个隐藏字段,我希望它用所选的所有选项更新该隐藏字段。我已经得到它,一次更新一个选项,但不是多次。
我的最终目标是设置一个问卷表单,用户每次填写一个问题的答案,每次提交表格时,隐藏字段都会包含所有之前的答案字母。
答案 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
字段。