Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 29

Discussione: form contatti php

  1. #1

    form contatti php

    salve, ho un form contatti che non funziona correttamente: quando clicco su "invia" mi compare la scritta "messaggio inviato con succcesso", solo che mi apre questo messaggio in un'altra pagina!! E inoltre, naturalmente non invia nulla...ho messo il mio indirizzo email per vedere se funzionava, ho fatto una prova..e non mi è arrivata nessuna mail..cosa ho sbagliato? qualcuno può aiutarmi per favore?? Grazie!!

    questo è il codice che ho nel file html

    <form id="formail" method="post" action="mail.php">
    <div id="risposta">
    </div>


    Nome:</p>
    <input type="text" id="nome" name="nome" value="" />



    E-mail:</p>
    <input type="text" id="email" name="email" value="" />



    Oggetto:</p>
    <input type="text" id="oggetto" name="ogggetto" value="" />



    Messaggio:</p>
    <textarea id="messaggio" name="messaggio" rows="9" cols="20"></textarea>


    <input type="submit" id="invia" name="invia" value="invia" style="font-family:calibri,Arial"/>
    </form>


    e questo il php

    <?php

    $mail = $_POST['mail'];
    $name = $_POST['name'];
    $subject = $_POST['subject'];
    $text = $_POST['text'];
    $ip = $_SERVER['REMOTE_ADDR'];


    $to = "marketing@emca2.it";

    $message = "Hai ricevuto una e-mail da: ".$name.", ".$mail.".
    ";
    $message .= "Messaggio:
    ".$text."

    ";
    $message .= "IP: ".$ip."
    ";
    $headers = "MIME-Version: 1.0\r\n";
    $headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
    $headers .= "From: <$name>";

    if(mail($to, $subject,$message, $headers)){
    echo "

    Messaggio inviato con successo</p>";
    }

    else{
    echo "

    Ci sono stati degli errori nell'invio della e-mail.</p>";
    }
    ?>
    {mirimadesign}

  2. #2
    Utente di HTML.it L'avatar di jeppox
    Registrato dal
    Mar 2007
    Messaggi
    436
    sfido che non va, una volta chiami il campo email e una volta mail, ogggetto con tre "g" e poi subject, una volta nome e una volta name, ecc... devi stare attento alle nome delle variabili ...

  3. #3

    form php..aiuto!!

    adesso provo a metterlo a posto e vediamo se funziona..purtroppo non so un bel niente di php, quindi non ci avevo neppure fatto caso...grazie!!


    niente da fare..fa di nuovo la stessa cosa di prima, anche se ho cambiato il codice così

    html

    <form id="formail" method="post" action="mail.php">
    <div id="risposta">
    </div>


    Nome:</p>
    <input type="text" id="name" name="name" value="" />



    E-mail:</p>
    <input type="text" id="mail" name="mail" value="" />



    Oggetto:</p>
    <input type="text" id="subject" name="subject" value="" />



    Messaggio:</p>
    <textarea id="text" name="text" rows="9" cols="20"></textarea>


    <input type="submit" id="submit" name="submit" value="submit" style="font-family:calibri,Arial"/>
    </form>

    php

    <?php


    $mail = $_POST['mail'];
    $name = $_POST['name'];
    $subject = $_POST['subject'];
    $text = $_POST['text'];
    $ip = $_SERVER['REMOTE_ADDR'];


    $to = "marketing@emca2.it";


    $message = "Hai ricevuto una e-mail da: ".$name.", ".$mail.".
    ";
    $message .= "Messaggio:
    ".$text."

    ";
    $message .= "IP: ".$ip."
    ";
    $headers = "MIME-Version: 1.0\r\n";
    $headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
    $headers .= "From: <$name>";


    if(mail($to, $subject,$message, $headers)){
    echo "

    Messaggio inviato con successo</p>";
    }

    else{
    echo "

    Ci sono stati degli errori nell'invio della e-mail.</p>";
    }

    ?>
    {mirimadesign}

  4. #4
    Utente di HTML.it L'avatar di jeppox
    Registrato dal
    Mar 2007
    Messaggi
    436
    ad ogni modo anche se i dati del form non sono corretti, dovrebbe lo stesso inviare un email a "marketing@emca2.it", se non ti è arrivato, probabilmente l'email è stata filtrata e messa in categoria spam/junk, prova a controllare li se è arrivato qualcosa. In tal caso potresti ottimizzare il tuo header aggiungendo il reply-to:

    Codice PHP:
    $header .= "From: $email\r\n";
    $header .= "Reply-To: $tuorispostaemail\r\n"

  5. #5

    form php

    non c'è nessuna mail da nessuna parte..e poi quando clicco su "invia" mi apre sempre il messaggio in un'altra pagina..
    ps. dove dovrei mettere quel codice? in che punto del mio codice php?
    grazie...
    {mirimadesign}

  6. #6
    Utente di HTML.it L'avatar di jeppox
    Registrato dal
    Mar 2007
    Messaggi
    436
    il fatto che ti dice "Messaggio inviato con successo" significa che la funzione mail è stata eseguita correttamente. Se non vuoi che dopo l'invio del form vai su un altra pagina allora ti conviene copiare la parte di php con la funzione mail nella pagina del form html su all'inizio come per es:

    Codice PHP:
    <?php
    // qui ci metti quello che prima avevi in mail.php
    ?>
    <html>
    // qui il form html
    </html>
    poi nel form cambi il target inviando il form a se stesso, ora non so come si chiama la pagina del form, nel caso sia un html la devi logicamente rinominare in .php:

    Codice PHP:
    <form id="formail" method="post" action="nomedellapaginadelformhtml.php"
    per quanto riguarda il reply-to, ti ho postato sopra un esempio, inserisci la riga dell'header subito sotto il from...

  7. #7
    Utente di HTML.it L'avatar di jeppox
    Registrato dal
    Mar 2007
    Messaggi
    436
    credo viste le tue conoscenze, si faccia prima se ti posto quello che intendevo dire, l'ho appena testato e funziona, gli email arrivano senza problemi. Metti tutto in questa pagina per es. test.php:

    Codice PHP:
    <?php

    if(isset($_POST['submit']))
    {
        
    $mail         $_POST['mail'];
        
    $name         $_POST['name'];
        
    $subject      $_POST['subject'];
        
    $text         $_POST['text'];
        
    $ip           $_SERVER['REMOTE_ADDR'];
        
        
    $to "marketing@emca2.it";
        
        
    $message  "Hai ricevuto una e-mail da: ".$name.", ".$mail.".
    "
    ;
        
    $message .= "Messaggio: 
    "
    .$text."

    "
    ;
        
    $message .= "IP: ".$ip."
    "
    ;
        
        
    $headers  "MIME-Version: 1.0\r\n";
        
    $headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
        
    $headers .= "From: <$mail>";
        
    $headers  .= "Reply-To: $to\r\n";
        
        
        if(
    mail($to$subject,$message$headers))
        {
            echo 
    "

    Messaggio inviato con successo</p>"
    ;
        }
        else
        {
            echo 
    "

    Ci sono stati degli errori nell'invio della e-mail.</p>"
    ;
        }
    }

    ?>
    <!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=utf-8" />
    <title>Unbenanntes Dokument</title>
    </head>
    <body>
    <form id="formail" method="post" action="test.php">
    <div id="risposta">
    </div>


    Nome:</p>
    <input type="text" id="name" name="name" value="" />



    E-mail:</p>
    <input type="text" id="mail" name="mail" value="" />



    Oggetto:</p>
    <input type="text" id="subject" name="subject" value="" />



    Messaggio:</p>
    <textarea id="text" name="text" rows="9" cols="20"></textarea>


    <input type="submit" id="submit" name="submit" value="submit" style="font-family:calibri,Arial"/>
    </form>
    </body>
    </html>

  8. #8

    form php..aiuto!!

    no guarda..un disastro completo..alla fine la mail l ho ricevuta, dopo ore comunque..boh..però il problema è sempre che si apre il messaggio di successo su un'altra scheda....
    questo è l'indirizzo dove c'è il form http://www.pannellisolariverona.com/contatti.html

    ho provato a scrivere i codici come dicevi tu, ma è venuto fuori un casino..sono proprio incapace con questi form....
    {mirimadesign}

  9. #9
    Utente di HTML.it L'avatar di jeppox
    Registrato dal
    Mar 2007
    Messaggi
    436
    perchè disastro meglio così no? Adesso basta che fai come ti ho indicato sopra così hai anche il messaggio nella stessa pagina del form. Basta rinominare contatti.html in contatti.php e adattare i link di accesso alla pagina.

    @ ah ok aggiungo perchè vedo che hai postato la pagina in questione.
    se non puoi rinominare la pagina contatti.html ci sarebbero diverse soluzioni, una per es. sarebbe di inviare il form come prima a mail.php e con un header indirizzi ad altre 2 pagine .html tipo:

    Codice PHP:
    if(mail($to$subject,$message$headers))
    {
    header("Location: [url]http://www.pannellisolariverona.com/successo.html[/url]");
    exit;
    }
    else
    {
    header("Location: [url]http://www.pannellisolariverona.com/errore.html[/url]");
    exit;

    in alternativa potresti impacchettare il form in un iframe, così non devi ricaricare tutta la pagina.

  10. #10

    form php..aiuto!!

    come, dovrei rinominare la pagina contatti.html in contatti.php e poi nel form mettere action="contatti.php"?
    perchè prima ho fatto così e mi si apriva la pagina con SOPRA scritto tutto il codice php
    forse avevo capito male.....
    {mirimadesign}

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.