- Home
- Categorie
- Coding e Sistemistica
- PHP
- [Tutorial] Gestione di un form mail semplice
-
Allora siamo colleghi di sventura.
Purtroppo io non mi occupo di programmazione, ogni tanto provo a montare, degli script per le form mail e vengono fuori cose che funzionano.
Non saprei proprio come aiutarti. Probabilmente se apri un discorso a tema o fai una piccola ricerca nel forum php qualcosa puoi anche trovare.
Buon lavoro
-
ciao ragazzi,
il post è vecchio ma ho un problema.Non sono molto esperto di programmazione (me la cavo) ho fatto un sito internet e volevo inserirci una pagina di commenti per poi riceverli sulla mail.
Ho usato i 2 documenti (html e php) messi a disposizione nella prima spiegazione e HO MODIFICATO SOLO LA MAIL METTENDO LA MIA MAIL DI HOTMAIL.
Per fare una prova creo una pagina vuota scrivo ''valutazioni'' e lo collego ipertesto sulla pagina html.
- Carico la pagina vuota, il file html e il file php sul sito;
- Vado sul sito da web premo valutazioni mi apre la pagina impostata in html;
- Compilo premo invia e mi dice errore visualizzazione pagina.
Io da i 2 files scaricati non ho modificato nulla (solo la mail) ho lasciato le scritte che stavano in arancione.
Vi prego aiutatemi che ne ho urgente bisogno.
-
Salve, il codice funziona perfettamente, volevo sapere c'è un modo per inserire altre opzioni oltre a messaggio, oggetto e email?
-
Ciao zaghor82, cosa intendi per altre opzioni?
-
Ragazzi apposto ho già risolto, grazie.
-
Io ho scaricato il file .zip,
ho messo il form nella mia pagina ho settato la mia mail e l'ho posizionato tramite l'id modulo.Quando però provo ad inviare la mail mi dà errore:
" File non trovato
Firefox non trova il file /C:/Documents and Settings/Luca/Desktop/PORTFOLIO/invio.php.
- Verificare che il nome del file non contenga maiuscole o errori di battitura.
* Verificare se il file è stato spostato, rinominato o rimosso."
-
Ciao lucaeffe,
Lo script lo devi testare su un server, oppure installi un server locale per provare.
-
Scusami ma sto imparando,
che significa che và testato su un server?
-
Che dei passare i file sul tuo hosting e provarlo la.
Altrimenti installi in locale apache,php e mysql e provi in locale.
Puoi utilizzare dei pacchetti già pronti come xampp o appserver, epr testare in locale, devi mettere i tuoi script php nella cartella di apache.
Ed i file vanno richiamati dal browser all'url localhost, in modo che vengano elaborati dal server locale.
L'inivio di email dal server locale comporta di dover modificare alcuni parametri, quindi essendo ancora tu agli inizii, ti conviene provare direttamente online passando i file in FTP.
-
Ho capito allora mi conviene aspettare di mettere on-line il mio sito.
Per personalizzare il form come bisogna comportarsi,
Bisogna agire direttamente sui vari id?Per aggiungere altre stringhe oltre mail e oggetto come si fa?
Scusa la marea di domande!
-
Devi aggiungere al file html altri input, modificando nomeinput:
[php]
<input name="NOMEINPUT" type="text" id="NOMEINPUT" />
[/php]
E nel file php aggiungere sotto a:
[php]
$body .= "testo: " . trim(stripslashes($_POST["body"])) . "\n"; //messaggio
[/php]
Questo per ogni input che aggiungi
[php]
$body .= "altro: " . trim(stripslashes($_POST["NOMEINPUT"])) . "\n"; //NOMEINPUT
[/php]
-
Ok!
Grazie mille!Ora mi è venuta la curiosità di provare MySQL che a quanto ho capito serve per farti testare la tua pagina come se fosse in linea..giusto?
Sono sul sito ma a quanto vedo bisogna pagare per scaricarlo?
-
Mysql è gratuito. Ma in questo caso non ti serve.
Ti consiglio di scaricare xampp, cosi ti risparmi di doverti configurare tutto.
-
CIAO
ho provato ha modificare sia il codice html che quello php, riesco a far partire correttamente la mail che pero arriva tutta erra ossia non rispetta il semplice output che vorrei ricevere ma in realta arriva una mail lunghissima con tutti i dati a casaccio a aprte la prima riga della tabella
potete dare un occhio a dove ho sbagliato qualcosa?:bho::bho:[html]<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><title>modulo2</title></head>
<body>
<div style="text-align: center;">
<form action="invio2.php" method="post" id="modulo2">
<div style="text-align: center;"></div>
<table style="text-align: left; margin-left: auto; margin-right: auto; height: 254px; width: 811px;">
<tbody>
<tr>
<td style="font-family: Arial; font-weight: bold; width: 162px;">nome
della squadra</td>
<td colspan="3" rowspan="1" style="width: 206px;"><label> <input name="mail" id="squadra"> </label></td>
</tr>
<tr>
<td style="width: 206px;" colspan="1" rowspan="1"></td>
<td style="text-align: center; font-family: Arial; font-weight: bold;" colspan="1">vende</td>
<td style="text-align: center; font-family: Arial; font-weight: bold;" colspan="1">offre</td>
<td style="text-align: center; font-family: Arial; font-weight: bold;">prezzo</td>
</tr>
<tr>
<td style="font-family: Arial; width: 162px; text-align: right;">portiere</td>
<td style="width: 200px; text-align: center;"><label>
<input name="portiere" id="portiere" type="text"> </label></td>
<td style="width: 200px; text-align: center;"><label>
<input name="portiere1" id="portiere1"> </label></td>
<td style="width: 206px; text-align: center;"><label>
<input name="prezzopo" id="prezzopo"> </label></td>
</tr>
<tr>
<td style="font-family: Arial; width: 162px; text-align: right;">1
difensore</td>
<td style="width: 200px; text-align: center;"><label>
<input name="gioca02" id="gioca02">
</label></td>
<td style="width: 200px; text-align: center;"><label>
<input name="gioca02n" id="gioca02n"> </label></td>
<td style="width: 206px; text-align: center;"><label>
<input name="pgioca02" id="gioca02"> </label></td>
</tr>
<tr>
<td style="font-family: Arial; width: 162px; text-align: right;">2
difensore</td>
<td style="width: 200px; text-align: center;"><label>
<input name="gioca03" id="gioca03" type="text">
</label></td>
<td style="width: 200px; text-align: center;"><label>
<input name="gioca03n" id="gioca03n"> </label></td>
<td style="width: 206px; text-align: center;"><label>
<input name="pgioca03" id="pgioca03"> </label></td>
</tr>
<tr>
<td style="font-family: Arial; width: 162px; text-align: right;">1
c.campista</td>
<td style="width: 200px; text-align: center;"><label>
<input name="gioca04" id="gioca04" type="text">
</label></td>
<td style="width: 200px; text-align: center;"><label>
<input name="gioca04n" id="gioca04n"> </label></td>
<td style="width: 206px; text-align: center;"><label>
<input name="pgioca04" id="pgioca04"> </label></td>
</tr>
<tr>
<td style="font-family: Arial; width: 162px; text-align: right;">2
c.campista</td>
<td style="width: 200px; text-align: center;"><label>
<input name="gioca05" id="gioca05" type="text">
</label></td>
<td style="width: 200px; text-align: center;"><label>
<input name="gioca05n" id="gioca05n"> </label></td>
<td style="width: 206px; text-align: center;"><label>
<input name="pgioca05" id="pgioca05"> </label></td>
</tr>
<tr>
<td style="font-family: Arial; width: 162px; text-align: right;">attaccante</td>
<td style="width: 200px; text-align: center;"><label>
<input name="gioca06" id="gioca06">
</label></td>
<td style="width: 200px; text-align: center;"><label>
<input name="gioca06n" id="gioca06n"> </label></td>
<td style="width: 206px; text-align: center;"><label>
<input name="pgioca06" id="pgioca06"> </label></td>
</tr>
<tr>
<td style="width: 162px;"><label></label>
</td>
<td style="width: 200px;"><label><input name="submit" id="submit" value="Invia" type="submit"> <input name="cancella" id="cancella" value="Ripristina" type="reset">
</label></td>
<td style="width: 200px;"></td>
<td style="width: 206px;"></td>
</tr>
</tbody>
</table>
</form>
</div>
</body>
</html>
[/html][php]<?php
if (trim($_POST['mail']) != "") {
// indirizzo di chi riceve la mail è sottolineato ma nel codice non sottilineatelo
$to = " \n INDIRIZZO DI POSTA ";
$headers = "From: " . $_POST['mail'] . "\n";
// soggetto della mail
$subject = " mercato ";// 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 .= " portiere " . trim(stripslashes($_POST["portiere"])) . " portiere 1" . trim(stripslashes($_POST["portiere1"])) ." prezzo " . trim(stripslashes($_POST["prezzopo"])) ."\n"; //oggetto del messaggio
$body .= " difensore " . trim(stripslashes($_POST["gioca02"])) . $body .= " difensore 1 " . trim(stripslashes($_POST["gioca02n"])) .$body .= " prezzo " . trim(stripslashes($_POST["pgioca02"])) . "\n"; //oggetto del messaggio
$body .= " difensore " . trim(stripslashes($_POST["gioca03"])) . $body .= " difensore 1 " . trim(stripslashes($_POST["gioca03n"])) .$body .= " prezzo " . trim(stripslashes($_POST["pgioca03"])) . "\n"; //oggetto del messaggio
$body .= " c.campista " . trim(stripslashes($_POST["gioca04"])) . $body .= " c.campista" . trim(stripslashes($_POST["gioca04n"])) .$body .= " prezzo " . trim(stripslashes($_POST["pgioca04"])) . "\n"; //oggetto del messaggio
$body .= " c.campista " . trim(stripslashes($_POST["gioca05"])) . $body .= " c.campista" . trim(stripslashes($_POST["gioca05n"])) .$body .= " prezzo " . trim(stripslashes($_POST["pgioca05"])) . "\n"; //oggetto del messaggio
$body .= " attaccante " . trim(stripslashes($_POST["gioca06"])) . $body .= " attaccante" . trim(stripslashes($_POST["gioca06n"])) .$body .= " prezzo " . trim(stripslashes($_POST["pgioca06"])) . "\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. Bene";
} else {// altrimenti
echo "Devi compilare la form prima di inviare.";}
?> [/php]
-
Ciao accio1985,
Non ho capito qual'è il problema che riscontri.
-
@Thedarkita said:
Ciao accio1985,
Non ho capito qual'è il problema che riscontri.
La mail parte correttamente ma arrivano in maniera molto csasuale molti piu dati ossia gtli stessi dati arrivano in una mail lunghissuma impaginata in maniera del tutto casuale.
A me basta riportare i dati cosi come nel form di inserimento.
-
Prova cosi:
[php]
<?php
if (trim($_POST['mail']) != "") {
// indirizzo di chi riceve la mail è sottolineato ma nel codice non sottilineatelo
$to = " \n INDIRIZZO DI POSTA ";
$headers = "From: " . $_POST['mail'] . "\n";
// soggetto della mail
$subject = " mercato ";// 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 .= " portiere " . trim(stripslashes($_POST["portiere"])) . " portiere 1" . trim(stripslashes($_POST["portiere1"])) ." prezzo " . trim(stripslashes($_POST["prezzopo"])) ."\n"; //oggetto del messaggio
$body .= " difensore " . trim(stripslashes($_POST["gioca02"]))." difensore 1 " . trim(stripslashes($_POST["gioca02n"]))." prezzo " . trim(stripslashes($_POST["pgioca02"])) . "\n"; //oggetto del messaggio
$body .= " difensore " . trim(stripslashes($_POST["gioca03"]))." difensore 1 " . trim(stripslashes($_POST["gioca03n"]))." prezzo " . trim(stripslashes($_POST["pgioca03"])) . "\n"; //oggetto del messaggio
$body .= " c.campista " . trim(stripslashes($_POST["gioca04"]))." c.campista" . trim(stripslashes($_POST["gioca04n"]))." prezzo " . trim(stripslashes($_POST["pgioca04"])) . "\n"; //oggetto del messaggio
$body .= " c.campista " . trim(stripslashes($_POST["gioca05"]))." c.campista" . trim(stripslashes($_POST["gioca05n"]))." prezzo " . trim(stripslashes($_POST["pgioca05"])) . "\n"; //oggetto del messaggio
$body .= " attaccante " . trim(stripslashes($_POST["gioca06"]))." attaccante" . trim(stripslashes($_POST["gioca06n"]))." prezzo " . trim(stripslashes($_POST["pgioca06"])) . "\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. Bene";
} else {// altrimenti
echo "Devi compilare la form prima di inviare.";}
?>
[/php]
-
Edit: tutto risolto, grazie per l'aiuto non ci sarei riuscito!
P.S. c'è un metodo per far apparire nella mail in grassetto i dati inseriti nei campi del form e lasciare testo normale quelli descrittivi?
-
Aggiungi agli header dell'email che è l'email è in formato html, e metti i tag html per farlo in grassetto.
-
Grazieeeeeeeeeeeeeeeeeeeeeeeeeee!!!!