Moodle 所需参数
Moodle required param
我无法退出此错误页面:
Debug info:
Error code: missingparam
Stack trace:
line 481 of \lib\setuplib.php: moodle_exception thrown
line 548 of \lib\moodlelib.php: call to print_error()
line 31 of \edit_form.php: call to required_param()
edit.php:
$aroleid = 72; (I could get this value from database)
echo html_writer::div('<a href="'.$CFG->wwwroot.'/edit_form.php?aroleid='.$aroleid.'">'.$org->org_name.'</a>');
edit_form.php:
require('config.php');
require_once($CFG->libdir.'/formslib.php');
require_once($CFG->libdir.'/adminlib.php');
$aroleid = required_param('aroleid', PARAM_INT);
global $DB, $aroleid;
class edit_form extends moodleform
{
function definition()
{
global $DB, $aroleid;
$mform = $this->_form;
$mform->addElement('text', 'roleid');
$mform->setType('roleid', PARAM_INT);
$mform->setDefault('hroleid', $aroleid);
$this->add_action_buttons();
}
}
$mform = new edit_form();
if ($mform->is_cancelled()) {
redirect(new moodle_url('/index.php'));
}
else if ($mform->is_submitted()) {
redirect(new moodle_url('/view.php'));
我可以获得参数 aroleid,其中提交表单时显示此错误并且表单不允许重定向到 view.php。我被困住了,无法追踪到下一个级别的问题。非常感谢您的建议。
当您提交表单时,它包含字段 'roleid' 和 'hroleid'。
默认情况下,表单提交到当前页面,但当前页面希望在加载时有一个名为 'aroleid' 的参数。
由于您的表单不包含 'aroleid' 字段,您收到一条错误消息,指出缺少该参数。
我无法退出此错误页面:
Debug info:
Error code: missingparam
Stack trace:
line 481 of \lib\setuplib.php: moodle_exception thrown
line 548 of \lib\moodlelib.php: call to print_error()
line 31 of \edit_form.php: call to required_param()
edit.php:
$aroleid = 72; (I could get this value from database)
echo html_writer::div('<a href="'.$CFG->wwwroot.'/edit_form.php?aroleid='.$aroleid.'">'.$org->org_name.'</a>');
edit_form.php:
require('config.php');
require_once($CFG->libdir.'/formslib.php');
require_once($CFG->libdir.'/adminlib.php');
$aroleid = required_param('aroleid', PARAM_INT);
global $DB, $aroleid;
class edit_form extends moodleform
{
function definition()
{
global $DB, $aroleid;
$mform = $this->_form;
$mform->addElement('text', 'roleid');
$mform->setType('roleid', PARAM_INT);
$mform->setDefault('hroleid', $aroleid);
$this->add_action_buttons();
}
}
$mform = new edit_form();
if ($mform->is_cancelled()) {
redirect(new moodle_url('/index.php'));
}
else if ($mform->is_submitted()) {
redirect(new moodle_url('/view.php'));
我可以获得参数 aroleid,其中提交表单时显示此错误并且表单不允许重定向到 view.php。我被困住了,无法追踪到下一个级别的问题。非常感谢您的建议。
当您提交表单时,它包含字段 'roleid' 和 'hroleid'。
默认情况下,表单提交到当前页面,但当前页面希望在加载时有一个名为 'aroleid' 的参数。
由于您的表单不包含 'aroleid' 字段,您收到一条错误消息,指出缺少该参数。