- Home
- Categorie
- Coding e Sistemistica
- Coding
- php - Invio mail form
-
Dovresti postare cosa hai fatto.
-
[PHP]
if(isset($_POST['submit']))
{if(!isset($_POST["nome"]) || $_POST["nome"] == '')
die('Nome mancante');
if(!isset($_POST["cognome"]) || $_POST["cognome"] == '')
die('Cognome mancante');
if(!isset($_POST["indirizzo"]) || $_POST["indirizzo"] == '')
die('Indirizzo mancante');
if(!isset($_POST["tel"]) || $_POST["tel"] == '')
die('Tel mancante');
if(!isset($_POST["mail"]) || $_POST["mail"] == '')
die('Mail mancante');
if(!isset($_POST["prodotto"]) || $_POST["prodotto"] == '')
die('Seleziona il Prodotto');// L'INDIRIZZO DEL DESTINATARIO DELLA MAIL
$to = "[email protected]";// IL SOGGETTO DELLA MAIL
$subject = "RICHIESTA PRODOTTO - TECNOWOODSHOP.IT";// COSTRUZIONE DEL CORPO DEL MESSAGGIO
$body = "Contenuto del modulo:\n\n";$body .= "Dati personali ;\nCognome: " . trim(stripslashes($_POST["cognome"])) . "\n";
$body .= "Nome: " . trim(stripslashes($_POST["nome"])) . "\n";
$body .= "Indirizzo: " . trim(stripslashes($_POST["indirizzo"])) . "\n";
$body .= "Tel: " . trim(stripslashes($_POST["tel"])) . "\n";
$body .= "Mail: " . trim(stripslashes($_POST["mail"])) . "\n";
$body .= "Prodotto: " . trim(stripslashes($_POST["prodotto"])) . "\n";
$body .= "Ricevere Newsletter?: " . trim(stripslashes($_POST["new"])) . "\n\n";// INTESTAZIONI SUPPLEMENTARI
$headers = "From: Modulo utenti <INDIRIZZO-COME-SOPRA>";// INVIO DELLA MAIL
if(@mail($to, $subject, $body, $headers)) { // SE L'INOLTRO E' ANDATO A BUON FINE...echo "<div style="text-align:center;width:160px;color:#00ff00" align="center"><b>"."MAIL INOLTRATA."."</b></div>";
}
else {// ALTRIMENTI...
echo "<div style="text-align:center;width:160px;color:red" align="center"><b>"."ERRORE MAIL."."</b></div>";
}
}
?>
[/PHP]
-
Invece di usare die sarebbe da usare echo e inserire una variabile flag per non inviare l'email in caso di errori, ma dovresti comunque studiare le basi di php.
-
EeehhHHh!1 No scusami ho capito ben poco.. Siccome dovrei fare solo quest'ultima cosa.. ti chiedo umilmente se mi puoi aiutare.. Per quanto riguarda il php me lo devo insegnare.. ma per ora non ho tempo..
-
[php]
if(!isset($_POST["nome"]) || $_POST["nome"] == '')
{
$err = true;
echo 'Nome mancante<br>';
}
if(!isset($_POST["cognome"]) || $_POST["cognome"] == '')
{
$err = true;
echo 'Cognome mancante<br>';
}
if(!isset($_POST["indirizzo"]) || $_POST["indirizzo"] == '')
{
$err = true;
echo 'Indirizzo mancante<br>';
}
if(!isset($_POST["tel"]) || $_POST["tel"] == '')
{
$err = true;
echo 'Tel mancante<br>';
}
if(!isset($_POST["mail"]) || $_POST["mail"] == '')
{
$err = true;
echo 'Mail mancante<br>';
}
if(!isset($_POST["prodotto"]) || $_POST["prodotto"] == '')
{
$err = true;
echo 'Seleziona il Prodotto<br>';
}
if(isset($err))
die;
[/php]
-
Grazie
-
Ti ho già scritto il codice esatto veramente...
Forse non hai visto la seconda pagina della discussione.
-
Comunque vedi che il "$_POST["prodotto"]" è un menu a tendina.. Quindi non so come si deve procedere per questo? Penso che sia in ogni caso selezionato il menu a tendina.. Ma se io voglio che devi selezionare una voce differente da "Seleziona prodotto" per procedere come deve essere sto codice?? Comunque questa è l'ultima cosa che ti chiedo.. Prometto che non ti stresso più..
-
Se invece di:
<option>Seleziona il prodotto</option>
Metti:
<option value="">Seleziona il prodotto</option>
Funziona sicuramente.
-
:DDD Grazie mille... Vorrei averle io le tue conoscenze
-
Basta studiare, e tanta pratica... E chiunque può imparare.
-
Scusami ancora.. Una cosa che ho visto e che quando non compili un campo.. non ti è possibile tornare indietro per compilare quel campo mancante.. o.o come si può fare?
-
La soluzione più veloce è questa:
[php]
if(!isset($_POST["nome"]) || $_POST["nome"] == '')
{
$err = true;
echo 'Nome mancante<br>';
}
if(!isset($_POST["cognome"]) || $_POST["cognome"] == '')
{
$err = true;
echo 'Cognome mancante<br>';
}
if(!isset($_POST["indirizzo"]) || $_POST["indirizzo"] == '')
{
$err = true;
echo 'Indirizzo mancante<br>';
}
if(!isset($_POST["tel"]) || $_POST["tel"] == '')
{
$err = true;
echo 'Tel mancante<br>';
}
if(!isset($_POST["mail"]) || $_POST["mail"] == '')
{
$err = true;
echo 'Mail mancante<br>';
}
if(!isset($_POST["prodotto"]) || $_POST["prodotto"] == '')
{
$err = true;
echo 'Seleziona il Prodotto<br>';
}
if(isset($err))
die('<a href="javascript:history.back()">Torna indietro</a>');
[/php]
-
E nel caso in cui volessi che il messaggio mail inviata o errore mail.. comparisse come per l'errore del campo vuoto.. ovvero con il form che scompare come devo fare.. qui il codice di quel punto.
[PHP] // INVIO DELLA MAIL
if(@mail($to, $subject, $body, $headers)) { // SE L'INOLTRO E' ANDATO A BUON FINE...echo "<div style="text-align:center;width:160px;color:#00ff00;margin:0" align="center"><b>"."MAIL INOLTRATA."."</b></div>";
}
else {// ALTRIMENTI...
echo "<div style="text-align:center;width:160px;color:red;margin:0" align="center"><b>"."ERRORE MAIL."."</b></div>";
} [/PHP]
-
Se ho ben capito cosa vuoi, dovresti mettere die invece di echo:
[php]
// INVIO DELLA MAIL
if(@mail($to, $subject, $body, $headers)) { // SE L'INOLTRO E' ANDATO A BUON FINE...die("<div style="text-align:center;width:160px;color:#00ff00;margin:0" align="center"><b>"."MAIL INOLTRATA."."</b></div>");
}
else {// ALTRIMENTI...
die("<div style="text-align:center;width:160px;color:red;margin:0" align="center"><b>"."ERRORE MAIL."."</b></div>");
}
[/php]