Un controlador de envío de formularios solo puede imprimir un mensaje usando drupal_set_message()
o escribiendo un mensaje en el registro con watchdog()
.
La alternativa es guardar los datos necesarios en la sesión y redirigir al usuario (usando $form_state['redirect'] = 'page path';
) a una página donde se muestra el contenido de la sesión.
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;
}
Como nota al margen, el primer argumento de t()
debe ser una cadena literal, no una cadena obtenida concatenando dos cadenas, como en su caso. Debe usar marcadores de posición, como en el siguiente código.
drupal_set_message(t("The user is %username", array('%username' => $username)));
En Drupal 7, en lugar de devolver una cadena, puede devolver una matriz de representación .