我们有表单,我们需要通过编写的 php 代码访问值。但是 $_POST 在 drupal 中不起作用。
我们需要知道如何访问 php 中的所有提交值,请任何人帮助我们吗?...
这是在 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()
,那么您的提交回调甚至不会被调用,因此它可以安全地依赖于拥有正确的数据。