Ho un programma PHP che fa il controllo di un form.
Ci sono 2 campi che normalmente sono obbligatori
serialnumber
partnumber
ma che in una condizione (nel caso che la select ritorna "Altro") non devno essere compilati
la pagina che verra caricata(formInvio.php) non deve darmi l'errore:
non hai inserito il serial number/non hai inserito il part number/
Mi aiutate a modificare il programma per implementare questa condizione?
Grazie
questa è una parte di codice:
.........................
<?
}
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[] = "Serialnumber";
$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>
";
?>