Visualizzazione risultati 1 fino 3 di 3

Discussione: Problema con pagina contatti via mail

  1. #1
    Guest

    Predefinito Problema con pagina contatti via mail

    Ciao a tutti, innanzitutto sono un principiante col php però lo sto usando per preparare un sito internet, e soprattutto una pagina di contatto via mail.
    Ho trovato dei codici già fatti e presuppongono l'utilizzo di un file .php.
    Il mio problema è che quando invia la mail si apre questa pagina php e a me da fastidio, vorrei che si riaprisse la pagina principale. Pensavo si facesse con la funzione header ma non và...
    potete aiutarmi???
    il codice del file .php è il seguente:


    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Documento senza titolo</title>
    </head>

    <body>
    <?php
    // indirizzo di chi riceve la mail è sottolineato ma nel codice non sottilineatelo

    if ((trim($_POST['object']) != "") && (trim($_POST['body']) != "")) { //questo fa si che se i campi -oggetto- e "messaggio" sono vuoti la form non invia nessuna mail
    $to = "contact@geologicaltechnology.it";
    $headers = "From: " . $_POST['mail'] . "\n";
    // soggetto della mail
    $subject = "Modulo proveniente da geotech";

    // corpo messaggio
    $body = "Contenuto del modulo:\n\n";

    $body .= "Inviata da: " . trim(stripslashes($_POST["mail"])) . "\n"; //indirizzo e-mail che manda la mail, come si vede riprende l'id del campo destinato all'inserimento della mail del mittente

    $body .= "Oggetto: " . trim(stripslashes($_POST["object"])) . "\n"; //oggetto del messaggio
    $body .= "testo: " . trim(stripslashes($_POST["body"])) . "\n"; //messaggio


    // invio mail
    mail($to, $subject, $body, $headers); // SE L'INOLTRO E' ANDATO A BUON FINE...

    echo "La mail è stata inviata con successo. Grazie per averci contattato";

    } else {// altrimenti
    echo "Deve compilare la form prima di inviare.";

    }

    ?>
    </body>

  2. #2
    L'avatar di jb17
    jb17 non è connesso Utente giovane
    Data registrazione
    07-01-2006
    Messaggi
    48

    Predefinito

    Citazione Originalmente inviato da pasq88 Visualizza messaggio
    Pensavo si facesse con la funzione header ma non và...
    Se vuoi far si che funzioni con la funzione header devi cancellare dalla pagina il codice HTML e lasciare solo la parte compresa tra
    <? .....(script php)...... ?>
    fatto questo cancelli la funzione "echo" (che dice che l'email è stata inviata correttamente) e inserisci header("location:pagina.php/html");
    sostituisci anche l'echo presente nell'else (per intenderci quello che ti dice di completare il form) con un'altra funzione header e il tutto dovrebbe funzionare come vuoi tu.

    (ci tengo a precisare che questa non è l'unica soluzione possibile ma forse è la più semplice per chi è ancora all'inizio con php)
    Il sito di jb17: jb17.altervista.org

  3. #3
    Guest

    Predefinito

    Grazie 1000...
    finalmente ho capito...
    in effetti anche a me sembrava strano che ci fosse dell'html...

    cmq il sito che sto facendo è www.geologicaltechnology.it... per ora ho caricato solo la home... se volete potete darmi qualche consiglio ....

    Thanks

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •