- Home
- Categorie
- Coding e Sistemistica
- PHP
- help! modulo mail
-
help! modulo mail
Ho un problemino con un codice php. mi aiutereste a capire l'errore?
Please.L'errore è:
Parse error: parse error, unexpected T_ELSE in www\messaggio\send.php on line 36
il codice (un action in un modulo contatti) invece:[php]<?PHP
// Processo di recupero dei dati
$nome = $_POST['nome'];
$cognome = $_POST['cognome'];
$citta = $_POST['citta'];
$subject = $_POST['Runover'];
$email = $_POST['email'];
$messaggio = nl2br($POST['messaggio']);
// Processo di controllo [Opzionale]
if ($nome == null)
{
print "Errore: è necessario compilare il campo 'Nome e cognome'";
}
else
{
if ($cognome == null)
{
print "Errore: è necessario compilare il campo 'cognome'";
}
else
{
if ($citta == null)
{
print "Errore: è necessario compilare il campo 'citta'";
}
else
{
if (!eregi("^[a-z0-9][.a-z0-9-]+@([a-z0-9][0-9a-z-]+.)+([a-z]{2,4})", $email))
{
print "Errore: è Indirizzo e-mail inserito non è valido";
}
else
{
if ($messaggio == null)
{
print "Errore: è necessario compilare il campo 'Messaggio'";
}
else
{
print("<font size='13'>Invio E-Mail<br><br /></font>");
print("<br />Questi sono i dati che hai inserito:<br /><br />
Nome: <b>$Nome</b><br />
Cognome: <b>$Cognome</b><br />
Citta: <b>$Citta</b><br />
E-mail: <b>$E-mail</b><br />
Messaggio: <b>$messaggio</b>");
// Processo di configurazione dell'email
// [Destinatario, mittente, ecc]
$mail_to = nome utente_at_tuodominio.it
$mail_from = $email;
$mail_subject = "Runover";
$reply = $email;
$mail_body = "<p><font color=#000000>$messaggio</font></p>";
// Intestazioni HTML
$mail_in_html = "MIME-Version: 1.0\r\n";
$mail_in_html .= "Content-type: text/html; charset=iso-8859-1\r\n";
$mail_in_html .= "From: <$mail_from>";
// Processo di invio
if (mail($mail_to, $mail_subject, $mail_body, $mail_in_html, $reply))
{
print "Messaggio inviato con successo!";
}
else
{
print "Errore...torna indietro e riprova!";
}
}
}
}
}
}
?>[/php]
Il modulo contatti, invece...[html]<form name="form1" method="post" action="send.php">
<table width="95%" align="center" >
<tr>
<td colspan="2"><div align="center"><strong><font size="5">MODULO CONTATTI
</font></strong></div></td>
</tr>
<tr>
<td width="16%"><strong>Nome</strong></td>
<td width="84%"><input type="text" name="nome"></td>
</tr>
<tr>
<td><strong>Cognome</strong></td>
<td><input type="text" name="cognome"></td>
</tr>
<tr>
<td><strong>Città </strong></td>
<td><input type="text" name="citta"></td>
</tr>
<tr>
<td><strong>Indirizzo E-mail </strong></td>
<td><input type="text" name="mail"></td>
</tr>
<tr>
<td><strong>Testo</strong></td>
<td><textarea name="testo" cols="40" rows="10"></textarea></td>
</tr>
<tr>
<td colspan="2"> </td>
</tr>
<tr>
<td colspan="2"> <div align="center">
<input type="submit" name="Submit" value="Invia">
<input type="reset" value="Cancella">
</div></td>
</tr>
</table>
</form>[/html]Grazie!
Master
-
Attento, il codice è molto disordinato!Perchè, invece di una serie di if ed else incatenati, non usi elseif?
Inoltre, se devi fare dei controlli, usa die() invece di print, cosi l'esecuzione si blocca e non avrai più problemi!
Così:
[php]
<?php
$nome = $_POST['nome'];
$cognome = $_POST['cognome'];
$citta = $_POST['citta'];
$messaggio = $_POST['testo'];
$email = $_POST['mail'];if ($nome == null)
{
die( "Errore: è necessario compilare il campo 'Nome e cognome'");
}
elseif ($cognome == null)
{
die( "Errore: è necessario compilare il campo 'cognome'");
}
elseif ($citta == null)
{
die( "Errore: è necessario compilare il campo 'citta'");
}if (!eregi("^[a-z0-9][_.a-z0-9-]+@([a-z0-9][0-9a-z-]+.)+([a-z]{2,4})", $email))
{
die( "Errore: è Indirizzo e-mail inserito non è valido");
}if ($messaggio == null)
{
die( "Errore: è necessario compilare il campo 'Messaggio'");
}print("<font size='13'>Invio E-Mail<br><br /></font>");
print("<br />Questi sono i dati che hai inserito:<br /><br />
Nome: <b>$nome</b><br />
Cognome: <b>$cognome</b><br />
Citta: <b>$citta</b><br />
E-mail: <b>$email</b><br />
Messaggio: <b>$messaggio</b><br />");
// Processo di configurazione dell'email
// [Destinatario, mittente, ecc]
$mail_to = "[email protected]";
$mail_from = $email;
$mail_subject = "Runover";
$reply = $email;
$mail_body = "<p><font color=#000000>$messaggio</font></p>";
// Intestazioni HTML
$mail_in_html = "MIME-Version: 1.0\r\n";
$mail_in_html .= "Content-type: text/html; charset=iso-8859-1\r\n";
$mail_in_html .= "From: <$mail_from>";
// Processo di invio
if (mail($mail_to, $mail_subject, $mail_body, $mail_in_html, $reply))
{
print "Messaggio inviato con successo!";
}
else
{
die ("Errore...torna indietro e riprova!");
}
?>[/php]
-
ciao Ilnetsurfer,
ti ringrazio del celere aiuto e dei preziosi suggerimenti!
non riuscivo a venirne a capo!
grazie
grazie 1000
-
Prego, di niente!
E' sempre piacevole aiutare!