Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    11

    Header Location....non va!

    Ciao ragazzi! Sono nuovo in questo forum.
    Colgo l'occasione dunque di salutare tutti e augurare buone feste ad ognuno di voi.

    Ora al problema Header Locatation.

    Sto facendo delle prove sul seguente codice:

    <html>
    <title> Risultato </title>
    <body>
    <?
    $gruppo=$_POST["select"];
    $dest="nome@miosito.it";
    $ogg="prova";
    $mess="prova";
    $mitt = 'From: info@miosito.it' . "\r\n" .
    'Reply-To: info@miosito.it' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();




    switch ($gruppo)
    {
    case '6':
    mail ($dest,$ogg,$mess,$mitt);
    break;


    case '5':
    header ("Location: file.php");
    break;

    }

    ?>

    </body>
    <html>
    </html>

    Il problema è l'header location al case '5'
    Vorrei che ad ogni "case", l'azione sia un redirect verso un terzo file.
    Ale case '6' ho provato a mandare una mail, e funziona; ma il redirect con header location non va proprio.
    Mi restituisce pagina bianca senza nessun errore (perchè il display_errors è settato su off).

    Sapreste dirmi perchè non funziona Header Location?
    Dove sbaglio?

    Ringrazio anticipatamente!
    Wako

  2. #2
    gli header vanno spediti prima di qualsiasi output




    p.s. prova a fare una ricerca sul forum, l'argomento è stato trattato e ritrattato e ritrattato e ritrattato
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  3. #3
    Utente di HTML.it L'avatar di mark2x
    Registrato dal
    Nov 2005
    Messaggi
    1,940
    Scrivi così al posto dello header:

    codice:
    ?>
    <script language="javascript">
    document.location.href="pagina_che_vuoi";
    </script>
    <?
    exit;

    [.:: JaguarXF ::.]
    __________________

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    11
    per 13manuel84:

    Ne ero a conoscenza sul fatto che gli header vanno spediti prima di qualsiasi output, infatti non c'è nessun print o echo. Se pensi che il problema sia la funzione mail, nel case "5" dovrebbe andare poichè è la sola azione scritta.

    per mark2x:
    Vorrei utilizzare esclisivamente il codice php.

  5. #5
    Utente di HTML.it L'avatar di mark2x
    Registrato dal
    Nov 2005
    Messaggi
    1,940
    Come non c'è output??

    Ed il tag <html> cos'è?? VVoVe:

    [.:: JaguarXF ::.]
    __________________

  6. #6
    Originariamente inviato da wako
    per 13manuel84:

    Ne ero a conoscenza sul fatto che gli header vanno spediti prima di qualsiasi output, infatti non c'è nessun print o echo. Se pensi che il problema sia la funzione mail, nel case "5" dovrebbe andare poichè è la sola azione scritta.
    questi sono output:

    <html>
    <title> Risultato </title>
    <body>

    uno spazio bianco è output.
    L'output non lo devi intendere come semplice risultato di un echo...


    puoi risolvere, se vuoi usare solo codice php, mettendo all'inizio del tuo script (ma proprio all'inizio, prima dell'apertura dell'html) questa semplice riga:

    codice:
    <? ob_start(); ?>
    la funzione ob_start ti bufferizza l'output, quindi non fa altro che catturarti tutto l'output e rilasciarlo alla fine dopo aver spedito gli eventuali header. Lo so che l'ho spiegato un pò malino, quindi ti consiglio di leggere quello che dice il manuale a riguardo: http://it2.php.net/manual/it/function.ob-start.php oppure di fare una ricerca su questo forum.




    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    11
    Scusate ragazzi, avete capito che cmq sono un po' ignorante in materia!

    Per escludere qualsiasi problema ho creato questo nuovo file prova.php con scritto questo:

    <?
    header ("location: http://www.php.net");
    ?>

    Anche quì non mi va il redirec! Perchè?

  8. #8
    Utente di HTML.it L'avatar di mark2x
    Registrato dal
    Nov 2005
    Messaggi
    1,940
    Non ci credo..

    [.:: JaguarXF ::.]
    __________________

  9. #9
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    1,141
    L'output può essere inteso anche come uno spazio ad esempio,
    non è che c'è uno spazio dopo o prima dell'apertura del tag php?
    codice:
    [controlla che qui non ci siano spazi]
    <? [controlla che qui non ci siano spazi]
    header ("location: http://www.php.net");
    ?>
    ciao

  10. #10
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    11
    Ken84 sono sbalordito!

    [quì c'era un invio di troppo!]
    <? header ("location: http://www.php.net");
    ?>

    Ma come è possibile? Questo riguarda solamente la funzione Header spero!?!?

    Cmq ora funziona...ma sono così perlpesso! :master:

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.