Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    Problema con header("Location:")

    Gentilissimi esperti,
    ho un problema. Vorrei realizzare un form per invio mail e rimandare ad una pagina di conferma qualora fosse andato il tutto a buon fine.
    Io utilizzo il comando Header ma non funziona! Mi manda ad una pagina bianca!!!
    Ecco il codice:

    <html>
    <head>
    <title>Per contattarci</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    </head>

    <body>
    <?php

    $mail_mittente = $_POST['indirizzo'];
    $mail_destinatario = "ciao@comestai.it";
    $mail_oggetto = $_POST['oggetto'];
    $mail_corpo = $_POST['corpo'];

    if (mail($mail_destinatario, $mail_oggetto, $mail_corpo, "From: $mail_mittente"))

    {
    header("Location:fatto.htm");
    exit;
    }

    ?>
    </body>
    </html>

  2. #2
    Utente di HTML.it L'avatar di Il_Drugo
    Registrato dal
    May 2006
    Messaggi
    1,220
    Invece dell'header usa:

    Codice PHP:
    print("<script>window.location('fatto.htm')</script>"); 

  3. #3
    Non funziona! Oltre a causare lo stesso effetto... sotto nella barra di stato esce pure il messaggino Operazione completata con il triangolino giallo ed il punto esclamativo!

  4. #4
    La funzione mail restituisce un valore booleano. 1, per ciò TRUE se la mail va, e 0 , FALSE se la mail non va.

    Per me il tuo problema in verità sta nel faytto che la mail non va.

    il ciclo prova a eseguirlo cosi , per trarre un pò di informazioni di debugging.

    Codice PHP:

    if (mail($mail_destinatario$mail_oggetto$mail_corpo"From: $mail_mittente"))

    {
    //header("Location:fatto.htm");
    print "mandata";
    }
    else{ print 
    "la mail no va";} 
    Cosi capisci se la mail va, e ti concentri solo nel FLOW dei header.

    facci sapere

  5. #5
    L'header a bisogno di percorsi assoluti se non mi sbaglio.

    Quindi:

    Codice PHP:
    header"Location: h*tp://www.indirizzo.it/fatto.htm" ); 
    Sperando di non aver bojate, ciao
    Essere è la condizione
    Vivere il dolore

  6. #6
    ma se il problema fosse quello, e la pagina non fosse stata trovata, si piglierebbe indietro un errore 404. Però quello non succede, vero easytechno?

  7. #7
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Prova così piuttosto:
    codice:
    <?php
    $mail_mittente = $_POST['indirizzo'];
    $mail_destinatario = "ciao@comestai.it";
    $mail_oggetto = $_POST['oggetto'];
    $mail_corpo = $_POST['corpo'];
    
    if (mail($mail_destinatario, $mail_oggetto, $mail_corpo, "From: $mail_mittente")) {
      header("Location:fatto.htm");
    }
    else {?>
    <html>
    <body>
    <h1>Errore nell'invio</h1>
    </body>
    </html>
    <?php } ?>
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  8. #8
    Bravo sideval, il tutto mi funziona ugualmente.
    Il problema è che non fa il redirect ma... la email la manda correttamente!
    Non funziona il redirect, non capisco!!!

  9. #9
    hai provato come ti ha scritto Andrea1979?

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.