Visualizzazione dei risultati da 1 a 7 su 7

Discussione: Strano errore header

  1. #1

    Strano errore header

    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:

    Codice PHP:
    if ($var == "validation"){
    session_start(); 
    $captcha_control$_POST['captcha_control']; 
    $check=$_SESSION['CONTROLLO']; 
    if(
    $check<>$captcha_control){
                
    $captcha_send 1;
                
    $control=1;
                }

    Ringrazio chiunque mi dia una mano!

  2. #2
    Utente di HTML.it L'avatar di hyb
    Registrato dal
    Aug 2003
    Messaggi
    424
    Non è strano come errore, questo accade perché mandi dei dati prima dell'header stesso.

  3. #3
    Cioè? E allora non posso fare nulla prima di dire ad una pagina di andare ad un altra? Come risolvo il mio problema?

  4. #4
    Utente di HTML.it L'avatar di hyb
    Registrato dal
    Aug 2003
    Messaggi
    424
    Certo che lo puoi fare, ma non devi mandare in output nulla, devi fare le tue verifiche sulle funzioni o sulle variabili prima di stampare l'html, tutto può dipendere da come disponi i blocchi if, switch che siano.

  5. #5
    Ma io prima dell'header non stampo a video mica niente...

  6. #6
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    L'errore dice che l'output è iniziato alla riga 18 di config.inc.php
    Dagli una ripulita

  7. #7
    Fatto... ora va... Ma ditemi voi!? Si trattava solo di alcuni invio a fondo file...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.