Allora
...........................
questo è il form:
...........................
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Form</title>
</head>
<BODY>
<form method="post" action="formInvio.php">
<input type="hidden" name="require" value="seriale,partnumber,email">
<input type="hidden" name="contenitore" value="ffa@bit4id.com">
<div align="center"></div>
<table border="1" cellpadding="0" cellspacing="0" bordercolor="#000000" bgcolor="#ECE9D8" style="border-collapse: collapse">
<tr bordercolor="#000000" bgcolor="#333333">
<td width="113" height="31" align="center" bgcolor="#CECFCE"><div align="center" class="style10 Stile1">
<p align="right"><font size="2" face="Arial">nome</font></p>
</div></td>
<td width="266" valign="middle" bgcolor="#CCCCCC"><span class="style5"><font face="Arial" size="3">
<input name="Nome" type="text" id="nome" value="" size="35">
</font> </span></td>
</tr>
<tr bordercolor="#000000" bgcolor="#333333">
<td width="113" height="51" bgcolor="#CECFCE"> <div align="center" class="Stile1">
<div align="right"><font face="Arial" size="2">(<span class="style3">*</span>)email </font></div>
</div></td>
<td width="266" valign="middle" bgcolor="#CCCCCC"><p class="style5"><font face="Arial" size="3">
<input name="email" type="text" size="35">
</font></p></td>
</tr>
<tr bgcolor="#333333">
<td height="43" bgcolor="#CECFCE"><div align="center" class="Stile1">
<div align="right">(<span class="style3">*</span>)Prodotto</div>
</div></td>
<td valign="middle" bgcolor="#CCCCCC"><div align="left" class="style5">
<select name="prodotto" class="style5" id="prodotto">
<option selected>Minilector Essential</option>
<option>Minilector Professional</option>
<option>Minilector Lombardia</option>
<option>Lock Pc</option>
<option>Altro</option>
</select>
</div></td>
</tr>
<tr bgcolor="#333333">
<td height="54" align="center" bgcolor="#CECFCE"><div align="center" class="Stile1">
<div align="right">(<span class="style3">*</span>)Serial number </div>
</div></td>
<td bgcolor="#CCCCCC"><input name="seriale" type="text" id="ser" size="15" maxlength="11">
</td>
</tr>
<tr bgcolor="#333333">
<td width="113" height="42" bgcolor="#CECFCE"><div align="center" class="Stile1">
<div align="right">(<span class="style3">*</span>)Partnumber </div>
</div></td>
<td width="266" bgcolor="#CCCCCC"><span class="style5">
<input name="partnumber" type="text" id="part" size="15" maxlength="14">
</span>
<div align="center" class="style5"> </div></td>
</tr>
<tr bgcolor="#333333">
<td height="181" align="center" valign="top" bgcolor="#CECFCE"><div align="center" class="Stile2">
<div align="right">Note</div>
</div></td>
<td bgcolor="#CCCCCC"><p class="style5">
<textarea name="Note" rows="10" id="Note"></textarea>
</p></td>
</tr>
</table>
<p align="left">
<input name="" type="submit" class="bit4idLogo" value="Invia">
<input type="reset" class="bit4idLogo" value="Cancella">
</p>
<p align="left"></p>
<p align="center"> </p>
</p>
<p align="center">
<p align="center">
<p align="center" class="style3">
<p align="center">
<p align="center">
<p align="center">
<p align="center"> </td>
</tr>
</tbody>
</table>
<div align="right">
</p>
</div>
<div align="right"></div>
</form>
</body>
</html>
-------------------------------------
questo è il file php
.....................................
<?
$provenienza = array ('bit4id.com','www.bit4id.com','62.149.130.128');
$esclusioni = array ('*@quellochetipare.com', 'nomechetipare@dominio.com', 'altro@dominio.com');
$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='#FFFFFF'>
<p align='center'><font face='Arial' color='#000000' size='3'>Il modulo non è stato inviato per le seguenti ragioni</font></p>
<p align='center'><font face='Arial' size='3' color='#0000FF'>
<?
echo $reason."\n";
?>
</font>
<p align='center'><font face='Arial' size='3' color='#000000'>Premere indietro
nel browser e riprovare</font></p>
<?
}
echo "
\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 indirizzo email escluso.");
}
}
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 dominio non autorizzato.");
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[] = "seriale";
$reserved_keys[] = "partnumber";
$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 = "#FFFFFF";
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("Occorre un indirizzo email valido per continuare ($contenitore_to_test) ");
}
}
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 .= "Campo non inserito: $required[$i]
\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 indirizzo email non è valido");
}
$EMAIL = $email;
}
$content = parse_form($HTTP_POST_VARS);
if ($invia_Dati) {
$invia_Dati = ereg_replace( " +", "", $invia_Dati);
}
if (!$titolo)
$titolo = "Registrazione prodotto";
mail_it(stripslashes($content), stripslashes($titolo), $email, $contenitore);
if ($redirect) {
header ("Location: $redirect");
exit;
} else {
print "<body bgcolor='#FFFFFF'>
<p align='center'><font face='Arial' size='4' color='#0000FF'>Registrazione prodotto completata con successo.
</font></p>
<meta http-equiv='refresh' content='$delay; url=$url' >
<p align='center'></p>
</body>
";
?>
<div align="center"></div>
<table width="200" border="1" align="center">
<tr>
<td><div align="center"><font color="#0000FF" size="2" face="Arial, Helvetica, sans-serif">Torna alla Home Page</font></div></td>
</tr>
</table>
<div align="center"></div>
<?
echo "
\n";
exit;
}
// <---------- fine ----------> //
?>
Dentro al file PHp mi servirebbe creare una funzione che mi faccia un controllo sul campo prodotto alla voce "Altro"
io voglio che quando l'utente seleziona altro dal menu
i campi obbligatori che sono "seriale" e "partnumber"
non vengano richiesti dopo che hai inviato il form(cioe la pagina php che verra caricata alla fine non deve dare l'errore
Campo non inserito:seriale
oppure
Campo non inseritoartnumber
Ok??
Grazie......