Aiutamici Forum
Benvenuto Ospite Cerca | Topic Attivi | Utenti | | Log In | Registra

Form Mail Opzioni
ryusei
Inviato: Monday, March 03, 2008 12:17:22 AM
Rank: Member

Iscritto dal : 5/30/2001
Posts: 0
Ciao a tutti,

premetto subito che non ne so molto di creazione pagine web ^^

sto cercando di fare un modulo con dei campi da riempire con i dati dell'utente e inviare poi ad un indirizzo mail. Sto usando un file che fornisce Aruba in php. Ho 2 file il primo "formailphp.htm" dove ho creato i campi all'interno di una tabella e il secondo file "forminvio.php" dove ho inserito i dati email e del sito web. Ho poi provato a caricare il tutto sul mio sito, riempire i campi e premere invio. Sul sito appare la dicitura che l'operazione è andata a buon fine però poi quando vado a vedere all'indirizzo mail che ho specificato non trovo nulla. Qui di seguito vi posto il codice del file php.
Ringrazio anticipatamente tutti quelli che mi aiuteranno ad uscire da questo casino (x me) Pray

Commenta:


$delay = "5";

// Il parametro $url indica la pagina alla quale si viene
// rimandati una volta compilato correttamente il modulo
// io ho messo una homepage, ma potrebbe essere qualunque altra pagina

$url = "http://www.xxxxxx.it/Untitled-5.html";

// Il parametro $provenienza indica le possibili provenienze dei dati: indicare
// il proprio dominio nella forma mostrata dall'esempio con relativo IP

$provenienza = array ('xxxxxxx.it','www.xxxxxxx.it','00.000.000.000');

// Il parametro $esclusioni vi permette di NON consentire
// messaggi da un indirizzo mail specificato
// sia appartenente ad un dominio, ovvero
// 'tutte le mail che appartengono ad un dominio'
// od anche a singoli account

$esclusioni = array ('mail@daescludere.it', 'mailseconda@daescludere.it', 'emailterza@daescludere.it');


//FINE PARAMETRI DA SETTARE OBBLIGATORIAMENTE
/****************************************************************************************/
$versione_form = "stabile";

function print_error($reason,$type = 0) {
global $versione_form;
build_body($title, $bgcolor, $text_color, $link_color, $vlink_color, $alink_color, $style_sheet);
if ($type == "missing") {
?>
<body bgcolor='#cccccc'>
<p align='center'><font face='Arial' color='#000000' size='2'>Il modulo non è
stato inviato per le seguenti ragioni</font></p><br>
<p align='center'><font face='Arial' size='2' color='#000000'>
<?
echo $reason."\n";
?>
</font>
<p align='center'><font face='Arial' size='2' color='#000000'>Premere indietro
nel browser e riprovare.</font></p><?
} else { // every other error
?>
Il modulo non è stato inviato per le seguenti ragioni:<p align='center'>
<?
}
echo "<br><br>\n";

exit;
}

function check_banlist($esclusioni, $email) {
if (count($esclusioni)) {
$allow = true;
foreach($esclusioni as $banned) {
$temp = explode("@", $banned);
if ($temp[0] == "*") {
$temp2 = explode("@", $email);
if (trim(strtolower($temp2[1])) == trim(strtolower($temp[1])))
$allow = false;
} else {
if (trim(strtolower($email)) == trim(strtolower($banned)))
$allow = false;
}
}
}
if (!$allow) {
print_error("Stai usando un <b>indirizzo email escluso.</b>");
}
}

function check_referer($provenienza) {
if (count($provenienza)) {
$found = false;
$temp = explode("/",getenv("HTTP_REFERER"));
$referer = $temp[2];
for ($x=0; $x < count($provenienza); $x++) {
if (eregi ($provenienza[$x], $referer)) {
$found = true;
}
}
if (!getenv("HTTP_REFERER"))
$found = false;
if (!$found){
print_error("Provieni da un <b>dominio non autorizzato.</b>");
error_log("[FormMail.php] Illegal Referer. (".getenv("HTTP_REFERER").")", 0);
}
return $found;
} else {
return true; //
}
}
if ($provenienza)
check_referer($provenienza);

if ($esclusioni)
check_banlist($esclusioni, $email);

function parse_form($array) {
// build reserved keyword array
$reserved_keys[] = "required";
$reserved_keys[] = "redirect";
$reserved_keys[] = "email";
$reserved_keys[] = "require";
$reserved_keys[] = "contenitore";
$reserved_keys[] = "titolo";
$reserved_keys[] = "bgcolor";
$reserved_keys[] = "text_color";
$reserved_keys[] = "link_color";
$reserved_keys[] = "vlink_color";
$reserved_keys[] = "alink_color";
$reserved_keys[] = "title";
$reserved_keys[] = "missing_fields_redirect";
$reserved_keys[] = "invia_Dati";
if (count($array)) {
while (list($key, $val) = each($array)) {

$reserved_violation = 0;
for ($ri=0; $ri<count($reserved_keys); $ri++) {
if ($key == $reserved_keys[$ri]) {
$reserved_violation = 1;
}
}

if ($reserved_violation != 1) {
if (is_array($val)) {
for ($z=0;$z<count($val);$z++) {
$content .= "$key: $val[$z]\n";
}
} else {
$content .= "$key: $val\n";
}
}
}
}
return $content;
}


function mail_it($content, $titolo, $email, $contenitore) {
mail($contenitore, $titolo, $content, "From: $email\r\nReply-To: $email\r\nX-Mailer: DT_formmail");
}


function build_body($title, $bgcolor, $text_color, $link_color, $vlink_color, $alink_color, $style_sheet) {
if ($style_sheet)
echo "<LINK rel=STYLESHEET href=\"$style_sheet\" Type=\"text/css\">\n";
if ($title)
echo "<title>$title</title>\n";
if (!$bgcolor)
$bgcolor = "#cccccc";
if (!$text_color)
$text_color = "#80000";
if (!$link_color)
$link_color = "#0000FF";
if (!$vlink_color)
$vlink_color = "#FF0000";
if (!$alink_color)
$alink_color = "#000088";
if ($background)
$background = "background=\"$background\"";
echo "<body bgcolor=\"$bgcolor\" text=\"$text_color\" link=\"$link_color\" vlink=\"$vlink_color\" alink=\"$alink_color\" $background>\n\n";
}

$contenitore_finale = split(',',$contenitore);
for ($i=0;$i<count($contenitore_finale);$i++) {
$contenitore_to_test = trim($contenitore_finale[$i]);
if (!eregi("^[_\\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\\.)+[a-z]{2,3}$", $contenitore_to_test)) {
print_error("<b>Occorre un indirizzo email valido per continuare ($contenitore_to_test) </b>");
}
}

if ($required)
$require = $required;
if ($require) {

$require = ereg_replace( " +", "", $require);
$required = split(",",$require);
for ($i=0;$i<count($required);$i++) {
$string = trim($required[$i]);

if((!(${$string})) || (!(${$string}))) {

if ($missing_fields_redirect) {
header ("Location: $missing_fields_redirect");
exit;
}
$require;
$missing_field_list .= "<b>Non trovato: $required[$i]</b><br>\n";
}
}

if ($missing_field_list)
print_error($missing_field_list,"missing");
}


if (($email) || ($EMAIL)) {
$email = trim($email);
if ($EMAIL)
$email = trim($EMAIL);
if (!eregi("^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,3}$", $email)) {
print_error("il suo <b>indirizzo email</b> non è valido");
}
$EMAIL = $email;
}
$content = parse_form($HTTP_POST_VARS);

if ($invia_Dati) {
$invia_Dati = ereg_replace( " +", "", $invia_Dati);
$splitta_Dati = split(",",$invia_Dati);
$content .= "\n------ variabili utente ------\n";
for ($i=0;$i<count($splitta_Dati);$i++) {
$string = trim($splitta_Dati[$i]);
if ($splitta_Dati[$i] == "REMOTE_HOST")
$content .= "REMOTE HOST: ".$REMOTE_HOST."\n";
else if ($splitta_Dati[$i] == "REMOTE_USER")
$content .= "REMOTE USER: ". $REMOTE_USER."\n";
else if ($splitta_Dati[$i] == "REMOTE_ADDR")
$content .= "REMOTE ADDR: ". $REMOTE_ADDR."\n";
else if ($splitta_Dati[$i] == "HTTP_USER_AGENT")
$content .= "BROWSER: ". $HTTP_USER_AGENT."\n";
}
}

if (!$titolo)
$titolo = "Modulo dal sito";

mail_it(stripslashes($content), stripslashes($titolo), $email, $contenitore);

if ($redirect) {
header ("Location: $redirect");
exit;
} else {
print "<body bgcolor='#cccccc'>

<p align='center'><font face='Arial' size='2' color='#00000'>Grazie per averci
contattato.</font></p><p align='center'><font face='Arial' size='2' color='#00000'>Riceverete
risposta all'indirizzo da voi indicato $email<br><br>...Ritorno automatico alla Home page in corso....</font></p><meta http-equiv='refresh' content='$delay; url=$url'>

<p align='center'>&nbsp;</p>

</body>
";
echo "<br><br>\n";

exit;
}

// <---------- fine ----------> //
?>

Sponsor
Inviato: Monday, March 03, 2008 12:17:22 AM

 
dead
Inviato: Monday, March 03, 2008 8:48:03 AM

Rank: AiutAmico

Iscritto dal : 9/20/2004
Posts: 1,539
quello che hai postato è forminvio.php credo. posta anche l'altro, se no non si può capire.


Sono cosi avanti che quando guardo indietro vedo il futuro.
ryusei
Inviato: Monday, March 03, 2008 10:45:43 AM
Rank: Member

Iscritto dal : 5/30/2001
Posts: 0
Si, è il file "forminvio.php". Questo di seguito è invece il file htm.

Commenta:


<html>


<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
.style1 { font-size: 9px;
font-weight: bold;
}
.style2 {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 10px;
}
.style3 {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 12px;
font-weight: bold;
color: #FF0000;
}
.style4 {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 14px;
color: #FF0000;
font-weight: bold;
}
.style5 {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; }
.style6 {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 14px; color: #333333; font-weight: bold; font-style: italic; }
.Stile1 {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 14px; font-weight: bold; }
-->
</style>
</head>

<body bgcolor="#FFFFFF">
<form method="post" action="formInvio.php">
<div align="center">
<input type="hidden" name="require" value="Nome_e_Cognome,Email,La_barca_si_trova_a,Tipo_Intervento,Marca_e_Modello_apparati,Descrizione_Problema">
<input type="hidden" name="contenitore" value="xxxx@xxxx.xx">
<input type="hidden" name="invia_Dati" value="REMOTE_HOST,HTTP_USER_AGENT">
</div>


<div align="center">
<center>
<table border="0" cellpadding="0" cellspacing="0" width="82%" bgcolor="#FFFFFF">
<tr>
<td width="100%" valign="baseline">

<div align="center">
<p><img src="/Immagini/service.png" alt="" width="581" height="29"></p>
<p align="center"><br>
In questa pagina trovate il modulo da compilare per richiedere un intervento direttamente a bordo della vostra imbarcazione.Completate tutti i dati richiesti e verrete ricontattati in seguito. I dati contrassegnati da * sono obbligatori</p>
<hr width="550">
<p align="left">&nbsp;</p>
<table width="522" border="1" align="center" bordercolor="#FFFFFF">
<tr>
<td width="512" bordercolor="#2B95FF"><table width="100%" border="0" align="center" cellpadding="0" cellspacing="10" bgcolor="#B7DBFF">
<input type="hidden" name="require2" value="Nome_e_Cognome,Email,La_barca_si_trova_a,Tipo_Intervento,Marca_e_Modello_apparati,Descrizione_Problema">
<input type="hidden" name="contenitore2" value="xxx@xxx.xxx">
<input type="hidden" name="invia_Dati2" value="REMOTE_HOST,HTTP_USER_AGENT">
<tr>
<td colspan="2" align="center" valign="middle" class="Stile1"><div align="center"><u>COMPLETA IL MODULO </u></div></td>
</tr>
<tr>
<td align="center" valign="middle" class="style2">&nbsp;</td>
<td class="style2">&nbsp;</td>
</tr>
<tr>
<td align="center" valign="middle" class="style2"><div align="right">Ragione Sociale </div></td>
<td class="style2"><label for="label"></label>
<input name="Ragione_Sociale" type="text" id="label" size="30"></td>
</tr>
<tr>
<td width="37%" align="center" valign="middle" class="style2"><div align="right" class="style2">Nome e Cognome (*) </div></td>
<td width="63%" class="style2"><input name="Nome_e_Cognome" type="text" class="sfmoduli" id="Nome_e_Cognome" size="30"></td>
</tr>
<tr>
<td align="center" valign="middle" class="style2"><div align="right">Indirizzo (Via - n&deg; - Citt&agrave;) </div></td>
<td class="style2"><label for="textfield"></label>
<input name="Indirizzo" type="text" id="Indirizzo" size="30"></td>
</tr>
<tr>
<td align="center" valign="middle" class="style2"><div align="right" class="style2">Codice Fiscale o Partita IVA </div></td>
<td class="style2"><input name="Cod_Fiscale_o_PI" type="text" class="sfmoduli" id="Cod_Fiscale_o_PI" size="30"> </td>
</tr>
<tr>
<td align="center" valign="top" class="style2"><div align="right">Telefono</div></td>
<td class="style2"><label for="textfield"></label>
<input name="Telefono" type="text" id="Telefono" size="30"></td>
</tr>
<tr>
<td align="center" valign="top" class="style2"><div align="right">Indirizzo E-Mail (*) </div></td>
<td class="style2"><input name="Email" type="text" class="sfmoduli" id="Email" size="30"> </td>
</tr>
<tr>
<td align="center" valign="middle" class="style2"><div align="right">Tipo di Imbarcazione </div></td>
<td class="style2"><label for="select"></label>
<select name="Tipo_di_Barca" id="Tipo_di_Barca">
<option>Selezionare</option>
<option>Barca a Vela</option>
<option>Barca a Motore</option>
<option>Barca da Lavoro</option>
</select> </td>
</tr>
<tr>
<td align="center" valign="middle" class="style2"><div align="right">Modello Imbarcazione </div></td>
<td class="style2"><label for="textfield"></label>
<input name="Modello_Imbarcazione" type="text" id="Modello_Imbarcazione" size="30"></td>
</tr>
<tr>
<td align="center" valign="middle" class="style2"><div align="right">Anno di Costruzione </div></td>
<td class="style2"><label for="textfield"></label>
<input name="Anno_Costruzione" type="text" id="Anno_Costruzione" size="30"></td>
</tr>
<tr>
<td align="center" valign="middle" class="style2"><div align="right">Lunghezza Imbarcazione </div></td>
<td class="style2"><label for="textfield"></label>
<input name="Lunghezza_Imbarcazione" type="text" id="Lunghezza_Imbarcazione" size="30"></td>
</tr>
<tr>
<td align="center" valign="middle" class="style2"><div align="right">Tensione di Bordo </div></td>
<td class="style2"><label for="select"></label>
<select name="Tensione_di_Bordo" id="Tensione_di_Bordo">
<option>12 Volt</option>
<option>24 Volt</option>
</select> </td>
</tr>
<tr>
<td align="center" valign="middle" class="style2"><div align="right">La barca si trova presso (*) </div></td>
<td class="style2"><label for="textfield"></label>
<input name="La_barca_si_trova_a" type="text" id="La_barca_si_trova_a" size="30"></td>
</tr>
<tr>
<td align="center" valign="middle" class="style2"><div align="right">Tipo di Intervento (*) (installazione, riparazione, Istruzioni, etc.)</div></td>
<td class="style2"><label for="textfield"></label>
<input name="Tipo_Intervento" type="text" id="Tipo_Intervento" size="30"></td>
</tr>

<tr>
<td align="center" valign="top" class="style2"><div align="right">Indicare Marca e Modello degli apparati (*) </div></td>
<td class="style2"><textarea name="Marca_e_Modello_apparati" cols="31" rows="7" class="sfmoduli" id="Marca_e_Modello_apparati"></textarea></td>
</tr>

<tr>
<td align="center" valign="top" class="style2"><div align="right">Descrizione del Problema (*) </div></td>
<td class="style2"><textarea name="Descrizione_Problema" cols="31" rows="7" class="sfmoduli" id="Descrizione_Problema"></textarea></td>
</tr>

<tr>
<td align="center" valign="top" class="style2"><div align="right">
<p>Trattamento Dati Personali </p>
</div></td>
<td align="center" class="style2"><label for="textarea"></label>
<div align="left">
<textarea readonly="readonly" name="Privacy" cols="31" rows="7" id="Privacy">Comunicazione informativa ai sensi dell’art. 13 del Decreto Legislativo n. 196/2003

</textarea>
</div></td>
</tr>
<tr>
<td align="center" class="style2">&nbsp;</td>
<td align="center" class="style2"><div align="left">
<label for="select"></label>
<select name="Trattamento_Dati " id="Trattamento_Dati ">
<option>Seleziona</option>
<option>Acconsento</option>
<option>Non Acconsento</option>
</select>
</div></td>
</tr>
<tr>
<td align="center" class="style2">&nbsp;</td>
<td align="center" class="style2">&nbsp;</td>
</tr>
<tr>
<td colspan="2" align="center" class="style2"><div align="right">
<input name="submit" type="submit" class="modulomultiplo">
&nbsp;&nbsp;
<input name="reset" type="reset" class="modulomultiplo">
</div></td>
</tr>
</table></td>
</tr>
</table>
</div>
</form>

<p align="center">&nbsp;</td>
</tr>
</table>
</center>
</div>

</html>

ryusei
Inviato: Monday, March 03, 2008 11:07:30 AM
Rank: Member

Iscritto dal : 5/30/2001
Posts: 0
Allora mi sono acorto di una cosa facendo delle prove...

Se riempio tutti i campi testo la mail mi arriva correttamente. Il problema è che io ho fatto in modo che solo alcune informazioni siano obbligatorie (infatti se non vengono inserite appare un messaggio di errore). Ma perchè se inserisco solo i dati obbligatori e premo invia mi appare che la mail è stata inviata correttamente mentre non è così? Sicuramente qualcuno che se ne intende guardando il codice capirà subito di cosa si tratta... aiutooo!! Brick wall
Utenti presenti in questo topic
Guest


Salta al Forum
Aggiunta nuovi Topic disabilitata in questo forum.
Risposte disabilitate in questo forum.
Eliminazione tuoi Post disabilitata in questo forum.
Modifica dei tuoi post disabilitata in questo forum.
Creazione Sondaggi disabilitata in questo forum.
Voto ai sondaggi disabilitato in questo forum.

Main Forum RSS : RSS

Aiutamici Theme
Powered by Yet Another Forum.net versione 1.9.1.8 (NET v2.0) - 3/29/2008
Copyright © 2003-2008 Yet Another Forum.net. All rights reserved.