- Home
- Categorie
- Coding e Sistemistica
- PHP
- [Tutorial] Gestione di un form mail semplice
-
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!
-
Posta il codice dell'invio della mail.
-
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!!!
-
@borghe said:
e anch io come Fante correi capire come si invia il form a due indirizzi email diversi...
Nella variabile $to metti gli indirizzi separati dalla virgola...Se non vuoi far sapere a tutti i vari destinatari devi ripetere il codice per ogni indirizzo diverso.
-
Grazie tigrone!!
Quindi basta solo la virgola e uno spazio?
Ma il mittente come può sapere a chi viene inviato il form?
-
@borghe said:
Ma il mittente come può sapere a chi viene inviato il form?
Non ti è mai arrivata una mail tipo 'catena di S.Antonio'?
-
Scusa avevo letto male...
Che i destinatari si vedano tra loro non è un problema...
-
E allora mettili pure tutti insieme divisi dalla virgola.
-
Grazie!!
Appena provo ti faccio sapere se è andato tutto bene!!!
-
Buongiorno. Scusate eventuali scorrettezze dovute ad inesperienza nell'utilizzo di forum. Ho provato il metodo per invio email nel mio sito pubblicando le due pagine: modulo htlm e invio.php. Quando compilo il form e clicco su 'submit' vengo indirizzato alla pagina /invio.php ed appare il seguente messaggio:
Method Not Allowed
The requested method POST is not allowed for the URL /invio.php.
Cosa sto sbagliando?Grazie
-
Ciao
Ragazzi ieri sera ho scaricato mail semplice funziona tutto ho capito anche come inserire nuovi campi al primo colpo anche se non sono molto esperto.
domanda: vorrei sapere se è possibile fare in modo che quando una persona compili il form e vada a buon fine sia rimandata dopo tot secondi su una pagina web che io scelgo ed allo stesso modo se la compilazione non va a buon fine sia rinviata alla pagina del form ?????
Se è possibile mi fate il pezzo di codice da inserire.grazie....
-
Ciao a tutti,
sono nuova in questo forum ma lo seguo da un po' e lo trovo davvero interessante
Ho utilizzato questo form, ma non capisco come posso inserire degli input type="radio" per l'accettazione obbligatoria della legge sulla privacy.
Qualcuno mi sa aiutare?
Nel file modulo.html ho inserito questo codice:
Acconsento:
Sì <input type="radio" name="accetto" value="si" checked="checked" />
No<input type="radio" name="accetto" value="no" />Cosa devo scrivere in invio.php perchè me lo prenda?
Inoltre si può inserire un comando che verifichi che l'email inserita dall'utente sia reale?
Grazie mille
-
Dovresti postare del codice per capire come svolgi il tutto;è sempre una buona norma di programmazione presentare il codice in modo che altri
utenti possano capire la logica ed eventualmente aiutarti nella stesura del
codice oltre alla modularità stessa di come si trasmette il contenuto di
un form sù di un'altra pagina.
-
Ciao,
giustissimo!!! lo posto subitoIn modulo.html il codice è questo:
[html]<form action="invio.php" method="post" id="modulo">
<div class="label">
<label>
Indirizzo E-mail<b></b><br />
<input name="mail" type="text" id="mail" class="input" />
</label>
</div>
<div class="label">
<label>
Nome<b></b><br />
<input name="nome" type="text" id="nome" class="input" />
</label>
</div>
<div class="label">
<label>
Messaggio<b>*</b><br />
<textarea name="body" cols="30" rows="5" id="body" class="messaggio"></textarea>
</label>
</div>
<div class="label">
<div class="privacy">
Tutte le informazioni pervenute tramite questo modulo non saranno diffuse né utilizzate con scopo diverso da quello per cui sono state inviate (in conformitá alle Legge 675 del 31/12/96: "Tutela della persona rispetto al trattamento dei dati personali").
</div>
Acconsento al trattamento dei miei dati personali per le finalità indicate nell'informativa.:<br />
Sì<input type="radio" name="accetto" value="si" checked="checked" />
No<input type="radio" name="accetto" value="no" />
</div>
<div class="label">
<label>
<input type="submit" name="submit" id="submit" value="Invia" /> <input type="reset" name="cancella" id="cancella" value="Ripristina" />
</label>
</div>
</form>[/html]Mentre in invio.php il codice è questo:[php]<?php
// indirizzo di chi riceve la mail è sottolineato ma nel codice non sottilineatelo
if ((trim($_POST['nome']) != "") && (trim($_POST['body']) != "")) { //questo fa si che se i campi "nome" e "messaggio" sono vuoti la form non invia nessuna mail
$to = " \n [email protected]"; //Indirizzo e-mail protetto dal bots spam , deve abilitare Javascript per vederlo
$headers = "From: " . $_POST['mail'] . "\n";// soggetto della mail
$subject = "Modulo proveniente da ...";// 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 .= "Nome: " . trim(stripslashes($_POST["nome"])) . "\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.";}
?>[/php]Grazie
-
Dunque,per il momento tralasciamo il lato sicurezza che ci torneremo
quando abbiamo chiarito il tuo quesito,detto questo volevo sapere cosa è
che non torna nel codice che hai postato.
Volevo dirti che se fai la prova in locale devi avere un servizio attivo smtp
altrimenti ricevi errore.
-
Ciao a tutti sono nuova del forum. Ho un problema con il form contatti:
- vorrei che il messaggio di errore o di conferma avvenuto invio apparisse nella stessa pagina in cui si trova il modulo.
Potete aiutarmi? Incollo il codice html e il php:
[html]
<form action="invio.php" method="post" id="modulo" name="contact"><label for="name">* Nome e cognome:</label> <input name="name" type="text" class="input_field" id="name" maxlength="60" /> <div class="cleaner_h10"></div> <label for="email">* Indirizzo e-mail:</label> <input name="email" type="text" class="input_field" id="email" maxlength="60" /> <div class="cleaner_h10"></div> <label for="tel">* Telefono:</label> <input name="tel" type="text" class="input_field" id="tel" maxlength="60" /> <div class="cleaner_h10"></div> <label for="subject">Domanda 1</label> <input name="question1" type="text" class="input_field" id="question1" maxlength="60" /> <div class="cleaner_h10"></div> <label for="subject">Domanda 2</label> <input name="question2" type="text" class="input_field" id="question2" maxlength="60" /> <div class="cleaner_h10"></div> <label for="subject">Domanda 3/label> <input name="question3" type="text" class="input_field" id="question3" maxlength="60" /> <div class="cleaner_h10"></div> <label for="subject">Domanda 4</label> <input name="question4" type="text" class="input_field" id="question4" maxlength="60" /> <div class="cleaner_h10"></div> <label for="subject">Domanda 5</label> <input name="question5" type="text" class="input_field" id="question" maxlength="60" /> <div class="cleaner_h10"></div> <label for="subject">Domanda 6</label> <input name="question6" type="text" class="input_field" id="question6" maxlength="60" /> <div class="cleaner_h10"></div> <label for="text">Richiedi altre informazioni</label> <textarea id="text" name="text" rows="0" cols="0" class="required"></textarea> <div class="cleaner_h10"></div> <input type="submit" class="submit_btn float_l" name="submit" id="submit" value="Invia" /> </form>
[/html]
[php]
<?php
if ((trim($_POST['name']) != "") && (trim($_POST['email']) != "")) { //questo fa si che se i campi "oggetto" e "messaggio" sono vuoti la form non invia nessuna mail
$to = "info@email_it";
$headers = "From: " . $_POST['email'] . "\r\n"; // mittente della mail
$subject = "Contatto da www_sitoweb_com";// corpo messaggio
$body = "Contenuto del modulo:\n\n\n";
$body .= "Nome e Cognome: " . trim(stripslashes($_POST["name"])) . "\n\n"; //nome e cognome del mittente
$body .= "E-mail: " . trim(stripslashes($_POST["email"])) . "\n\n"; //indirizzo e-mail che manda la mail, come si vede riprende l'id del campo destinato all'inserimento della mail del mittente
$body .= "Tel: " . trim(stripslashes($_POST["tel"])) . "\n\n"; //telefono del mittente
$body .= "Domanda 1: " . trim(stripslashes($_POST["question1"])) . "\n\n"; //domanda 1
$body .= "Domanda 2: " . trim(stripslashes($_POST["question2"])) . "\n\n"; //domanda 2
$body .= "Domanda 3: " . trim(stripslashes($_POST["question3"])) . "\n\n"; // domanda3
$body .= "Domanda 4: " . trim(stripslashes($_POST["question4"])) . "\n\n"; //domanda 4
$body .= "Domanda 5: " . trim(stripslashes($_POST["question5"])) . "\n\n"; //domanda 5
$body .= "Domanda 6: " . trim(stripslashes($_POST["question6"])) . "\n\n"; //domanda 6
$body .= "Altre informazioni: " . trim(stripslashes($_POST["text"])) . "\n"; //richiesta altre informazioni// invio mail
mail($to, $subject, $body, $headers); // SE L'INOLTRO E' ANDATO A BUON FINE..echo "La mail e' stata inviata con successo. Grazie per averci contattato";
} else {// altrimenti
echo "E' necessario compilare tutti i campi obbligatori (contrassegnati con l'asterisco).";}
?>
[/php]Grazie a tutti coloro che vorranno aiutarmi, sto uscendo pazza!
-
@vnt54 said:
Dunque,per il momento tralasciamo il lato sicurezza che ci torneremo
quando abbiamo chiarito il tuo quesito,detto questo volevo sapere cosa è
che non torna nel codice che hai postato.
Volevo dirti che se fai la prova in locale devi avere un servizio attivo smtp
altrimenti ricevi errore.
torno solo ora, sono stata dispersa per un po'...
Dunque il form funziona correttamente, ma nell'email che arriva al destimatario non mi compare se il mittente ha accettato o meno la norma sulla privacy. Inoltre vorrei che l'accettazione della privacy fosse obbligatoria per poter spedire il modulo.
In ultima mi piacerebbe inserire un piccolo controllo sull'autenticità dell'email inserita dal mittente. Cioè vorrei che il mittente fosse obbligato a scrivere un indirizzo email reale nel campo "E-mail", in modo da evitare un po' di spam o semplicemente avere un'email vera dove potergli casomai rispondere.Spero di essere riuscita a spiegarmi bene!
Grazie
-
ciao
ho un problema conecho "La mail e' stata inviata con successo. Grazie per averci contattato";
} else {// altrimenti
echo "E' necessario compilare tutti i campi obbligatori (contrassegnati con l'asterisco).";}
per ragioni di mia praticità
ho incluso ( con include) la pagina modulo.php indexi.php e succede che la risposta alla mail sia su una pagina non formattata in dai css
-
a me va a singhiozzo
-
Ciao a tutti... io ho avuto un problema... Ho installato easyPHP e ho copiato i file nella cartella apposita.. riesco ad accedere al file modulo.html ma quando faccio invia mi esce questo errore
Warning: mail() [function.mail]: Failed to connect to mailserver at "127.0.0.1" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\Program Files (x86)\EasyPHP-5.3.8.1\www\invio.php on line 28
La mail è stata inviata con successo. Grazie per averci contattatoHo provato a controllare il file php.ini ma mi pare sia corretto, cosa posso fare?
Grazie mille...