Ein Formularübermittler kann eine Nachricht nur mit drucken drupal_set_message()
oder eine Nachricht in das Protokoll mit schreiben watchdog()
.
Die Alternative besteht darin, die erforderlichen Daten in der Sitzung zu speichern und den Benutzer (mithilfe $form_state['redirect'] = 'page path';
) auf eine Seite umzuleiten, auf der der Inhalt der Sitzung angezeigt wird.
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;
}
Als Randnotiz muss das erste Argument von t()
eine Literalzeichenfolge sein, keine Zeichenfolge, die wie in Ihrem Fall zwei Zeichenfolgen verkettet. Sie sollten Platzhalter wie im folgenden Code verwenden.
drupal_set_message(t("The user is %username", array('%username' => $username)));
In Drupal 7 können Sie anstelle einer Zeichenfolge ein Render-Array zurückgeben .
Was Sie tun müssen, ist ein Menü-Rückruf. Dies ist im Grunde eine Seite, die Sie eingerichtet haben und auf der die Informationen angezeigt werden.
Weitere Informationen finden Sie hier: http://api.drupal.org/api/drupal/includes!menu.inc/group/menu/7 und Sie müssen mehr über hook_menu () lesen.
Hoffe das hilft, sag mir wenn du ein Beispiel brauchst.
quelle