0

我们有表单,我们需要通过编写的 php 代码访问值。但是 $_POST 在 drupal 中不起作用。

我们需要知道如何访问 php 中的所有提交值,请任何人帮助我们吗?...

4

1 回答 1

1

这是在 Drupal 中呈现并从 Drupal 读取的表单吗?然后使用FAPI很容易。您只需要向表单添加一个提交回调。

如果是你自己的模块形式,只需要创建另一个带_submit后缀的函数,比如mymodule_form_function_submit. 如果它是其他人的表单,您将需要实现hook_form_alter并让它添加您的提交回调,如下所示:

function mymodule_form_alter(&$form, &$form_state, $form_id) {
  if ($form_id == 'the_form') {
    $form['#submit'][] = 'mymodule_the_form_submit';
  }
}

然后简单地实现回调函数。

function mymodule_the_form_submit($form, $form_state) {
  die('My name is ' . $form_state['values']['name']);
}

使用 Drupal 的内置表单 API 具有将验证与业务逻辑分开的额外好处。这意味着您还可以添加验证回调,就像添加提交一样。如果验证回调调用form_set_error(),那么您的提交回调甚至不会被调用,因此它可以安全地依赖于拥有正确的数据。

于 2012-06-29T07:46:26.663 回答