Drupal表单提交
在下面的示例中,我如何发送$first_name和$last_name变量值而不将它们附加到url中Drupal表单提交,drupal,drupal-forms,drupal-form-submission,Drupal,Drupal Forms,Drupal Form Submission,在下面的示例中,我如何发送$first_name和$last_name变量值而不将它们附加到url中 function my_module_my_form_submit($form, &$form_state) { $first_name = $form_state['values']['first']; $last_name = $form_state['values']['last']; drupal_goto("/my_view/".$first_name."/".$la
function my_module_my_form_submit($form, &$form_state) {
$first_name = $form_state['values']['first'];
$last_name = $form_state['values']['last'];
drupal_goto("/my_view/".$first_name."/".$last_name);
}您可以使用$\u会话变量:
$_SESSION['first_name'] = $first_name;
$_SESSION['last_name'] = $last_name;
然后从其他页面获取该值。首先,您不应该在表单提交处理程序中调用drupal_goto()。drupal_goto()将立即发送位置头并退出进程,从而阻止执行submit函数的其余部分 如果要处理表单,请在提交处理程序中执行。Drupal表单API使用与目标URL相同的URL呈现表单和 如果需要在表单提交后重定向用户,请执行以下操作
function my_module_my_form_submit($form, &$form_state) { // $form_state is passed by reference! {
// .. Do submit handling here.
$form_state['redirect'] = 'my_view/'."$first_name/$last_name";
}
如果要在后一步中访问它们,请将它们存储在会话中;见Raniel的答案 这似乎是一个错误的方法。你想在这里实现什么?