Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2011
    residenza
    bergamo
    Messaggi
    1,027

    ob_start & ob_end:_flush

    buongiorno a tutti,

    vorrei mandare un echo prima di un header, ho utilizzato le funzioni ob_start e ob_end_flush ma a quanto pare sbaglio qualcosa.

    se provate a mandare un'e-mail da form di questa pagina: www.francescopassanante.com vi accorgete l'errore che da, se non volete comunque sia questo è l'errore

    mail mandata con successo
    Warning: Cannot modify header information - headers already sent by (output started at /home/mhd-01/www.francescopassanante.com/htdocs/sendmail.php:14) in /home/mhd-01/www.francescopassanante.com/htdocs/sendmail.php on line 15
    dove il file sendmail.php è questo

    codice:
    <?php
    ob_start();
    $to = "info@francescopassanante.com";
    $message = $_POST['messaggio'];
    $from = $_POST['email'];
    $subject=$_POST['subj'];
    $headers = 'From:'.$from."\r\n".'Reply-To:'.$from."\r\n".'X-Mailer: PHP/'.phpversion();
    $parameters = "-f info@francescopassanante.com";
    mail($to,$subject,$message,$headers,$parameters);
    echo "mail mandata con successo";
    set_time_limit(0);
    $seconds=2;
    sleep($seconds);
    ob_end_flush();   -----> linea 14
    header("Location:index.php");   -----> linea 15
    ?>
    come potete vedere vi ho anche indicato le due linee che l'errore mi segnala, dove sbaglio me lo sapreste dire?

  2. #2
    http://www.php.net/manual/en/function.ob-end-flush.php quindi fà un output prima di un header e non si può fare...
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2011
    residenza
    bergamo
    Messaggi
    1,027
    ho letto il manuale, però non mi è molto chiaro, cioè io vorrei solo per esempio che ci sia un echo prima del reindirizzamento, per far ciò cosa dovrei fare?

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2011
    residenza
    bergamo
    Messaggi
    1,027
    beh cmq ho deciso di optare per un'altra strada ho fatto così

    codice:
    <?php
    $to = "info@francescopassanante.com";
    $message = $_POST['messaggio'];
    $from = $_POST['email'];
    $subject=$_POST['subj'];
    $headers = 'From:'.$from."\r\n".'Reply-To:'.$from."\r\n".'X-Mailer: PHP/'.phpversion();
    $parameters = "-f info@francescopassanante.com";
    mail($to,$subject,$message,$headers,$parameters);
    header("Refresh: 5; URL=http://www.francescopassanante.com/");
    echo "mail inviata con successo";
    echo "reindirizzamento tra 5 secondi";
    ?>
    e mi funziona.

  5. #5
    Quote Originariamente inviata da passasooz Visualizza il messaggio
    ho letto il manuale, però non mi è molto chiaro, cioè io vorrei solo per esempio che ci sia un echo prima del reindirizzamento, per far ciò cosa dovrei fare?
    prima di alcune cose (come l'header location o il session_start) non puoi avere OUTPUT ( l'echo ad esempio).
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

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.