Drupal表单提交

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

在下面的示例中,我如何发送$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."/".$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的答案

这似乎是一个错误的方法。你想在这里实现什么?