• User Newbie

    Scusa ma non ho capito:
    dovrei modificare il codice del file php? e come dovrei farlo?
    Vorrei ricevere in grassetto il contenuto delle celle del modulo.
    Grazie


  • User Newbie

    Ciao,
    questo form mi è stato utile, sul primo sito dove l'ho riprodotto funziona benissimo, poi ho provato a farne uno uguale identico in un'altro sito e improvvisamente non funziona più ho copiato e in collato il codice ho tenuto gli stessi nomi dei campi e tutto ho cambiato solo la mail solo che non funziona potete aiutarmi?


  • Consiglio Direttivo

    Ciao sbabe e benvenuto nel forum GT. 🙂

    Certo che i nomi dei file siano giusti ed anche i percorsi?

    Nel caso prova a postare il codice e vediamo dove potrebbe essere il problema. 😉


  • User Newbie

    Ok questa è la parte di html

    [html]<form action="messaggio.php" method="post" id="modulo">

    Il Suo indirizzo e-mail*<br />
    <label>
    <p> <input name="mail" type="text" id="mail" /><br /></p>
    </label>

    Messaggio* <br />

    <p><textarea name="body" cols="30" rows="5" id="body"></textarea> <br /></p>

    <label>
    <input type="submit" name="submit" id="submit" value="Invia" /> </label>

    </form> [/html]

    Mentre questa è la parte di php

    [php]<?php
    // indirizzo di chi riceve la mail è sottolineato ma nel codice non sottilineatelo
    if ((trim($_POST['mail']) != "") && (trim($_POST['body']) != "")) { //questo fa si che se i campi "oggetto" e "messaggio" sono vuoti la form non invia nessuna mail
    $to = "[email protected]";
    $headers = "From: " . $_POST['mail'] . "\n";

    // corpo messaggio
    $body = "Messaggio dal sito:\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 .= "testo: " . trim(stripslashes($_POST["body"])) . "\n"; //messaggio

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

    echo "<center>La mail è stata inviata con successo. Grazie per averci contattato</center>";

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

    }

    ?>[/php]

    Comunque penso di aver sbagliato qualcosa nel php solo che non capisco cos'è se potete aiutarmi mi fate un favore grazie. 🙂


  • Consiglio Direttivo

    Vedo che manca l'oggetto della mail, intanto modifica il file messaggio.php così:
    [php]<?php

    if ((trim($_POST['mail']) != "") && (trim($_POST['body']) != "")) {
    $to = "[email protected]";
    $headers = "From: " . $_POST['mail'] . "\r\n";
    $subject = "Oggetto della mail";

    // corpo messaggio
    $body = "Messaggio dal sito:\n\n";

    $body .= "Inviata da: " . trim(stripslashes($_POST["mail"])) . "\n";

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

    mail($to, $subject, $body, $headers);

    echo "<center>La mail è stata inviata con successo. Grazie per averci contattato</center>";

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

    }

    ?> [/php]Dato che usi una casella alice ti consiglio di controllare la casella dalla webmail e controllare la cartella posta indesiderata, probabile che viene considerata spam e che non te la fa scaricare dal client. 😉


  • User Newbie

    L'oggetto non c'è perché non ho messo il campo oggetto va messo lo stesso?


  • User Newbie

    Niente ho provato ad aggiungere il subject però quanndo clicco su invia mi viene fuori una pagina bianca non mi viene fuori il messaggio di errore


  • User

    Dopo tre anni dall'apertura di questo post, sono qui a parlare di questo form contatti molto utile, perchè lo sto utilizzando sul mio sito.
    Veniamo al problema: lo script va alla grande, ricevo le mail, ed ho aggiunto altri elementi a quelli presenti nello script (menu a tendina e checkbox) che funzionano.
    Allora che vuoi? Direte voi 🙂
    Volevo migliorarlo, aggiungendovi un redirect ad una pagina del sito, qualche secondo dopo aver visualizzato il messaggio di avvenuto inoltro dei dati. Preferibilmente questa pagina potrebbe essere sempre quella dei contatti, però con i dati azzerati.
    Il problema è che non ne capisco molto di php...:?
    Che ne pensate?
    Chissà se ci sarà qualcuno che leggerà questo msg dopo così tanto tempo...
    spero di si :).

    Cmq grazie a pickadilly e a tutti, siete fantastici :ciauz:

    BluesMan


  • User

    Credo di aver risolto.
    Per chi avesse bisogno:

    è 1 redirect interno al sito che avviene dopo 3 secondi
    ho inserito nell'<head> della pagina invio.php questa stringa:

    <meta http-equiv="refresh" content="3;URL=pagina.html" />

    ciao a tutti:ciauz:.

    BluesMan


  • User

    @BluesMan said:

    Credo di aver risolto.
    Per chi avesse bisogno:

    è 1 redirect interno al sito che avviene dopo 3 secondi
    ho inserito nell'<head> della pagina invio.php questa stringa:

    <meta http-equiv="refresh" content="3;URL=pagina.html" />

    ciao a tutti:ciauz:.

    BluesMan

    Secondo me non ti conviene molto perchè se uno si addormenta mentre scrive sulla tastiera proprio all'ultimo textinput gli si ricarica la pagina e perde tutte le info...


  • User

    Si in effetti, come metodo è 1 po drastico, però è sempre meglio della pagina di "messaggio inoltrato" statico, che ti costringe a tornare indietro manualmente.
    Comunque, accetto qualsiasi seggerimento :D.
    Hai qualche idea?

    Ciao
    BluesMan


  • User Newbie

    Ragazzi avrei bisogno di una mano!
    Ho utilizzato lo script da voi proposto. La mail la invia, ma quando la ricevo tutti i campi sono vuoti (ovvero "")! Ho tolto l'if iniziale (farò dopo una validazione lato client) altrimenti mi andava subito nel ramo else. Secondo voi da cosa può dipendere?


  • User Newbie

    Ciao! Io sto provando ad usare il form che c'è nella prima pagina di questo post e funziona tutto alla grande.
    Vorrei solo sapere come faccio a far si che oltre all'indirizzo che ho messo nel campo "$to=", arrivi una mail anche all'indirizzo di chi si registra.
    Ho provato a scrivere "$to= $mail;" ma non va...

    Mi potete aiutare?


  • ModSenior

    Devi ripetere l'istruzione mail 2 volte e impostare come destinatario di una delle 2 l'indirizzo del mittente.


  • User Newbie

    Accidenti che velocità! Grazie per la risposta.
    Scusa ma non ho capito, io ho scritto:

    $to = " [email protected], $mail ";

    e vorrei che in automatico recuperasse l'indirizzo email che chi si iscrive ha scritto nel campo "mail" e gli mandasse pure a lui un'email come quella che ricevo io, è possibile?

    Grazie ancora. 🙂


  • User Newbie

    Perdonatemi ma io non so praticamente nulla di php... Qualcuno mi potrebbe scrivere esattamente che devo mettere?

    Ho provato a mettere solo "$to = $mail" ma non mi arriva nessuna email all'indirizzo con cui mi registro...


  • User Newbie

    Un'altra cosa, qualcuno mi sa spiegare perchè se aggiungo:

    $bcc = "[email protected]";

    non mi invia nulla alla mail in copia nascosta?
    cosa sbaglio?


  • User

    Buonasera a tutti!!!

    Perché io ricevo come errore:

    Warning: mail() [function.mail]: SMTP server response: 501 5.5.4 Invalid Address in D:\inetpub\webs\hotelmiamijesoloit\invio.php on line 27
    La mail è stata inviata con successo. Grazie per averci contattato

    ???

    Grazie!


  • User Attivo

    Posta il codice dell'invio della mail.
    :fumato:


  • User

    Scusate ho sistemato tutto, grazie a pikadilly...

    e anch'io come Fante vorrei capire come si invia il form a due indirizzi email diversi...

    Grazie!!!