Penangan pengiriman formulir hanya bisa mencetak pesan menggunakan drupal_set_message()
, atau menulis pesan dengan log watchdog()
.
Alternatifnya adalah menyimpan data yang diperlukan dalam sesi, dan mengarahkan pengguna (menggunakan $form_state['redirect'] = 'page path';
) ke halaman di mana konten sesi ditampilkan.
function firstmodule_menu() {
$items['the path for your page'] = array(
'page callback' => 'firstmodule_show_submitted_data';
// ...
);
return $items;
}
function firstmodule_form1_submit($form, &$form_state) {
$_SESSION['firstmodule_username'] = $username;
// ...
$form_state['redirect'] = 'the path for your page';
}
function firstmodule_show_submitted_data() {
// Populate $result with the string to show.
return $result;
}
Sebagai catatan, argumen pertama t()
harus berupa string literal, bukan string yang diperoleh dari dua string, seperti dalam kasus Anda. Anda harus menggunakan placeholder, seperti dalam kode berikut.
drupal_set_message(t("The user is %username", array('%username' => $username)));
Di Drupal 7, alih-alih mengembalikan string, Anda bisa mengembalikan array render .
Yang perlu Anda lakukan adalah memiliki menu panggilan balik, pada dasarnya itu akan menjadi halaman yang Anda atur dan tampilkan informasinya.
Info lebih lanjut tersedia di sini: http://api.drupal.org/api/drupal/includes!menu.inc/group/menu/7 dan Anda perlu membaca lebih lanjut tentang hook_menu ()
Semoga itu bisa membantu, beri tahu saya jika Anda membutuhkan contoh.
sumber