invio form

frencis1982

Nuovo Utente
4 Ago 2007
1
0
0
ciao a tutti, ho un problema: so poco e niente di come si creano form, o moduli d'invio e pagine html in generale,
cmq sono riuscito a fare questo form, e con la pagina in php , riesco a fare inviare il modulo in email.
ora il mio probliema è che nel form mi piacerebbe si potessero inserire foto (in quello che posto in particolare una foto), e molto probabilmente alla pagina php che ho recuperato in "giro" manca proprio questa sezione, poichè in email mi arriva il percorso dell'immagine, ma non il file allegato. adesso vi lascio qua le 2 pagine:

form(areainserimentodati)


<FORM action=formInvio.php method=post><INPUT type=hidden value=email,nome,cognome name=require>
<INPUT type=hidden [email protected] name=contenitore>
<INPUT type=hidden value=REMOTE_HOST,HTTP_USER_AGENT name=invia_Dati>

<table border="2" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#808080" width="87%" id="AutoNumber2" height="253">

<tr>
<td width="100%" height="35" align="center" colspan="3">
<p><font face="Bookman Old Style" size="1"><i>Nome</i><b>&nbsp;&nbsp;
<input type="text" name="nome" size="20"> </b></font>
<font face="Bookman Old Style"><font size="1"> <b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </b>
<i>Cognome</i></font></font><font face="Bookman Old Style" size="1"><b>&nbsp;&nbsp;
<input type="text" name="cognome" size="20"></b></font></td>
</tr>
<tr>
<td width="99%" height="35" align="center" colspan="3">
<p><font face="Bookman Old Style" size="1"><i>Nato a</i>&nbsp;&nbsp;&nbsp;
<b>
<input type="text" name="_nato_a_" size="20"></b></font><font size="1" face="Bookman Old Style"><b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

</b>
<i>Data di nascita (gg/mm/aa)&nbsp;</i>&nbsp; <b>
<input type="text" name="_data_di_nascita_" size="15"></b></font></td>
</tr>
<tr>
<td width="99%" height="35" align="left" colspan="3">
<p align="center"><font size="1" face="Bookman Old Style"><i>Cittadinanza</i>&nbsp;&nbsp;
<b>
<input type="text" name="_cittadinanza_" size="20">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</b><i>Stato civile</i>&nbsp;&nbsp; <b>
<input type="text" name="_stato_civile_" size="20"></b></font></td>
</tr>
<tr>
<td width="99%" height="35" align="center" colspan="3">
<font size="1" face="Bookman Old Style"><i>Indirizzo</i>&nbsp;&nbsp;
<b>
<input type="text" name="_Indirizzo_" size="20"></b></font><font size="1" face="Bookman Old Style"><b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<i>&nbsp;</i></b><i>Città</i>&nbsp;&nbsp; <b>
<input type="text" name="_Citta_" size="20"></b></font></td>
</tr>
<tr>
<td width="99%" height="35" colspan="3">
<p align="center">
<font size="1" face="Bookman Old Style"><i>C.A.P.&nbsp;&nbsp; </i>
<b>
<input type="text" name="_CAP_" size="7"> </b>&nbsp; <i>Provincia&nbsp;&nbsp;
</i><b>
<input type="text" name="_Provincia_" size="3">&nbsp;&nbsp; </b><i>Recapito Telefono&nbsp;&nbsp;
</i><b>
<input type="text" name="_Recapito_telefonico_" size="20"></b></font></td>
</tr>
<tr>
<td width="99%" height="35" align="center" colspan="3">
<font face="Bookman Old Style" size="1"><i>Indirizzo E-mail&nbsp;&nbsp;
</i><b>
<input type="text" name="email" size="25"></b></font></td>
</tr>
<tr>
<td width="28%" height="35" align="center">
<font face="Bookman Old Style" size="1"><i>Patente di guida </i><b>
<input type="checkbox" name=" patente si" value="ON"></b></font></td size="20">
<td width="34%" height="28" align="center">
<i>
<font face="Bookman Old Style" size="1">Tipo Patente&nbsp;&nbsp;<b>

</b>
</font></i>
<font size="1" face="Bookman Old Style"><b><input type="text" name=" tipo patente " size="5"></b></font></td size="20">
<td width="37%" height="28" align="center">
<font face="Bookman Old Style" size="1"><i>Automunito </i><b>
<input type="checkbox" name=" automunito si " value="ON"></b></font></td size="20">
</tr>
<tr>
<td width="99%" height="35" align="center" colspan="3">
<font face="Bookman Old Style"><i><font size="1">Inserisci qui la tua foto</font>&nbsp;
</i>
<b>
<input type="file" name="foto" size="35"></b></font></td size="20">
</tr>
</table>
</form>


lo chiudo qua perchè il resto del form è superfluo (o almeno credo)

invece la pagina forminvio.php


<?

$delay = "5";

$url = "http://www.cesis-rsm.com/graziehtml.com";


$provenienza = array ('cesis-rsm.com','www.cesis-rsm.com','62.149.130.103.');


$esclusioni = array ('*@quellochetipare.com', '[email protected]', '[email protected]');


$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='#808080'>
<p align='center'><font face='Arial' color='#cdb4b4' size='2'>Il modulo non è
stato inviato per le seguenti ragioni</font></p><br>
<p align='center'><font face='Arial' size='2' color='#cdb4b4'>
<?
echo $reason."\n";
?>
</font>
<p align='center'><font face='Arial' size='2' color='#cdb4b4'>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 = "#94B6C6";
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='#94B6C6'>

<p align='center'><font face='Arial' size='2' color='#800000'>Grazie per averci
contattato.</font></p><p align='center'><font face='Arial' size='2' color='#800000'>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 ----------> //
?>



ecco, io credo (dato che il form viene inviato correttamente), che manchi "solamente" la parte di stringa per l'invio file, altrimenti se qualche anima pia puo' darmi una manina.... ;)

ciao a tutti e grazxie 1000 a presto!!
 
Troppo codice :book:, dovè stà la parte con gli headers della mail?
 

Discussioni simili