Salve a tutti!
Sto creando una petizione on-line: un unico file "petition.php" per gestire tutto: form, validazione, registrazione, visualizzazione lista... questo perchè sarà più facile inserirlo in un portale che conosco poco.
Il file è quindi costituito da una serie di "switch/case/break": a seconda della $var che gli viene passata (form, validazione, visualizza_lista), il file gestisce tutto il meccanismo.
Quindi in petition.php?var=form l'utente riempie il form, esso invia tutti i dati a petition.php?var=validation e li processa, se tutto è corretto, inserisce nel db, invia email e dovrebbe andare su petition.php?var=pending_on che informerà l'utente che deve andare a seguire un link inviato via email (come per una classica registrazione).
Il problema arriva con la validazione: al termine della validazione eseguita correttamente e dell'inserimento dei dati in db (che ho controllato avvenire correttamente), arriva l'header:
header ('Location: http://www.miosito.it/petition.php?var=pending_on');
Ed ecco il messaggio d'errore del browser:
Warning: Cannot modify header information - headers already sent by (output started at /home/dmbandi/public_html/config.inc.php:18) in /home/dmbandi/public_html/petition.php on line 222
La riga 222 è quella dell'header! [Se può centrare qualcosa, all'inizio del file viene aperta una sessione che mi serve per gestire il captcha presente nel form della petizione:
Ringrazio chiunque mi dia una mano!Codice PHP:
if ($var == "validation"){
session_start();
$captcha_control= $_POST['captcha_control'];
$check=$_SESSION['CONTROLLO'];
if($check<>$captcha_control){
$captcha_send = 1;
$control=1;
}
}