Reset errori form

4 contenuti / 0 new
Ultimo contenuto
Reset errori form

Ciao a tutti,
ho un piccolo problema. Ho implementato un modulo che ha vari radio button ed una casella di testo.

Il modulo permette di scegliere un tipo di certificato da visualizzare in pdf tramite i radio button con associato il codice fiscale.

Il tutto viene effettuato utilizzando CURL.

Il mio problema è il seguente:

Se si inserisce un codice fiscale errato mi spunta fuori correttamente il messaggio di errore. A questo punto se inserisco il codice fiscale correttamente, mi si apre correttamente il certificato in pdf, ma l'errore rimane. Ho provato con :

form_set_error('codice_fiscale', '', TRUE);
drupal_get_messages('error');

ma il problema non si è risolto.

Una curiosità.

Se tolgo la chiamata CURL, il tutto funziona correttamente.

Mi potete aiutare?

Posta il codice, altrimenti e' un po' difficile aiutarti..

diciamo che la cosa è un pò complessa visto che è un progetto per comuni. Io provo a postare

$url = "mio_url";

$ch = curl_init ($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

$rc = curl_exec ($ch);

if (!$rc) { //QUI VERIFICO SE LA CHIAMATA CURL HA BUON ESITO. SE NO FACCIO IL SEGUENTE

$code = curl_getinfo ($ch, CURLINFO_HTTP_CODE);

switch ($code) {
//LA CHIAMATA CURL INOLTRE RESTITUISCE UN CODICE DI ERRORE SETTATO TRAMITE GLI HEADER DI PHP

case 404: //SE HO UN 404 NOT FOUND

form_set_error('codice_fiscale', 'Certificato richiesto non disponibile');
curl_close ($ch);
break;

}
}else{
//se la chiamata curl ha avuto buon esito dovrei cancellare gli errori eventuali
//le due istruzioni successive mi azzerano gli errori ma solo se elimino l'apertura del pdf
form_set_error('codice_fiscale', '', TRUE);
drupal_get_messages('error');

curl_close ($ch);

//questo fa si che mi si apra una finestra di dialogo per aprire o salvare il file pdf
header('Content-Description: File Transfer');
header('Content-Type: application/pdf');
header('Content-Disposition: attachment; filename=certificato.pdf');
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
// header('Content-Length: ' . filesize($file));

echo $rc;
ob_clean();
flush();
readfile($file);

}

drupalino83, usa il tasto "CODE" quando stai inserendo del codice nei commenti o nei post.