Moodle表单:缺少必需参数

时间:2014-07-31 17:47:07

标签: php forms moodle form-api

我在Question Editing form的{​​{1}}函数的definition()函数中添加了edit_question_form.php下拉列表:

$mform -> addElement('select', 'qtype', 'Choose type', array('optionOne' => 'Value Option One', 'optionTwo' => 'Value Option Two', 'optionThree' => 'valueOptionThree'), array('id'=>'id_dropdown'));

$mform->addRule('qtype', get_string('error'), 'required', 'server'(default), false, false);

这个表单的动作指向question.php,所以在question.php中,我添加了以下声明:

$qtypeq = required_param('qtype', PARAM_TEXT);

但是我收到以下错误:

缺少必需参数(qtype)

显然它并没有丢失。

所以有人可以建议我为什么会收到此错误,我该怎么做才能解决?

1 个答案:

答案 0 :(得分:2)

我要采取的第一步是在浏览器中打开开发人员工具,切换到“网络”标签,然后确认在提交表单时确切地发送了什么参数。

如果'qtype'参数肯定在那时,那么下一步就是添加'var_dump($ _ REQUEST);'紧接在'required_pa​​ram'行之前(这将输出通过get或post发送到页面的每个param)。

如果这没有说明正在发生的事情,那么接下来要做的就是安装xdebug并配置你的IDE来使用它。然后,您可以在'required_pa​​ram'行上粘贴一个断点并逐步查看它,看看究竟出了什么问题(顺便说一句,即使您这次不需要它,无论如何都要安装xdebug,因为它会帮助很多未来)。