書かれた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()
、送信コールバックは呼び出されないため、適切なデータがあることに安全に依存できます。