【问题标题】:how to get values in php from the submit form in drupal如何从drupal的提交表单中获取php中的值
【发布时间】:2012-06-29 07:15:09
【问题描述】:
我们有表单,我们需要通过编写的 php 代码访问这些值。
但是 $_POST 在 drupal 中不起作用。
我们需要知道如何访问 php 中的所有提交值,请任何人帮助我们?...
【问题讨论】:
标签:
php
forms
drupal
post
【解决方案1】:
这是在 Drupal 中呈现并从 Drupal 读取的表单吗?然后使用the 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(),那么您的提交回调甚至不会被调用,因此它可以安全地依赖于拥有正确的数据。