Ciao a tutti,
devo fare in modo che se l'utente spunta la voce quotazione allora i controlli sulle due voci successive (prodotti e quantità) diventa obbligatoria. Sto usando questa pagina dei controlli e mi trovo bene ma non so come integrare ora questa parte...
Codice PHP:
<?php
define("_destinatario","tua@email");
define("errore_oggetto_predefinito","Non hai inserito un oggetto!");
define("errore_nome_predefinito","Non hai inserito il tuo nome!");
define("errore_email_predefinito","L'indirizzo email che hai inserito non è corretto!");
define("errore_commenti_predefinito","Il messaggio è vuoto!");
define("segnaposto_oggetto","Inserisci un oggetto");
define("segnaposto_nome","Inserisci il tuo nome");
define("segnaposto_email","Inserisci la tua email");
define("segnaposto_commenti","Inserisci il tuo commento");
define("segnaposto_telefono","Inserisci il tuo numero di telefono");
function generaModulo($oggetto=segnaposto_oggetto,$nome=segnaposto_nome,$email=segnaposto_email,$commenti=segnaposto_commenti,
$telefono=segnaposto_telefono,$errore_oggetto="",$errore_nome="",$errore_email="",$errore_commenti=""){
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<fieldset>
<legend>Dati generali</legend>
<label for="oggetto">Oggetto</label>
<input name="oggetto" id="oggetto" value="<?php echo $oggetto; ?>" size="30" />
<?php if (!$errore_oggetto=="") { echo"<span>[b]$errore_oggetto[/b]</span>";} else { echo"<span>*</span>";}?>
<label for="nome">Nome</label>
<input name="nome" id="nome" value="<?php echo $nome; ?>" size="30" />
<?php if (!$errore_nome=="") { echo"<span>[b]$errore_nome[/b]</span>";} else { echo"<span>*</span>";}?>
<label for="mail">La tua e-mail</label>
<input name="email" id="mail" value="<?php echo $email; ?>" size="30" />
<?php if (!$errore_email=="") { echo"<span>[b]$errore_email[/b]</span>";} else { echo"<span>*</span>";}?>
<label for="commenti">Richieste e/o commenti</label>
<textarea name="commenti" id="commenti" cols="30" rows="8" ><?php echo $commenti; ?></textarea>
<?php if (!$errore_commenti=="") { echo"<span>[b]$errore_commenti[/b]</span>";} else { echo"<span>*</span>";}?>
<label for="telefono">Il tuo telefono (facoltativo)</label>
<input name="telefono" id="telefono" value="<?php echo $telefono; ?>" size="30" />
</fieldset>
<fieldset>
<legend>Quotazioni prodotti</legend>
<label for="quotazione">Quotazione</label><input type="checkbox" id="" />
<label for="prodotti">Prodotto</label>
<input name="prodotti" id="prodotti" value="<?php echo $prodotti; ?>" size="30" />
<?php if (!$errore_prodotti=="") { echo"<span>[b]$errore_prodotti[/b]</span>";} else { echo"<span>*</span>";}?>
<label for="quantita">Quantità</label>
<input name="quantita" id="quantita" value="<?php echo $quantita; ?>" size="30" />
<?php if (!$errore_quantita=="") { echo"<span>[b]$errore_quantita[/b]</span>";} else { echo"<span>*</span>";}?>
<input type="submit" value="Invia il modulo" name="bottone_invio" />
</fieldset>
</form>
<?php
} function isValidEmail($email){ $pattern = "^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*(.[a-z]{2,3})$";
if (eregi($pattern, $email)){
return true;
}
else {
return false;
}
}
function controlla($stringa,$lunghezza){
if (strlen($stringa)<$lunghezza){
return true;
}
else {
return false;
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="it" xml:lang="eng" dir="ltr">
<head>
<title>Esempio di modulo con controllo dei campi</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body>
<?php if (!isset($_POST['bottone_invio'])) {
generaModulo();
} else {
$oggetto = isset($_POST['oggetto']) ? $_POST['oggetto'] : "";
$nome = isset($_POST['nome']) ? $_POST['nome'] : "";
$email = isset($_POST['email']) ? $_POST['email'] : "";
$commenti = isset($_POST['commenti']) ? $_POST['commenti'] : "";
$telefono = isset($_POST['telefono']) ? $_POST['telefono'] : "";
$error = false;
$errore_oggetto = '';
$errore_nome = '';
$errore_email = '';
$errore_commenti = '';
if (controlla($oggetto,1) or ($oggetto==segnaposto_oggetto)) {
$error = true;
$errore_oggetto = errore_oggetto_predefinito;
}
if ((controlla($nome,1)) or ($nome==segnaposto_nome)) {
$error = true;
$errore_nome = errore_nome_predefinito;
}
if (!isValidEmail($email)){
$error = true;
$errore_email = errore_email_predefinito;
}
if ((controlla($commenti,1)) or ($commenti==segnaposto_commenti)) {
$error = true;
$errore_commenti = errore_commenti_predefinito;
}
if ($error){
generaModulo($oggetto,$nome,$email,$commenti,$telefono,$errore_oggetto,$errore_nome,$errore_email,$errore_commenti);
}
else {
if ($telefono == segnaposto_telefono) $telefono="-";
mail(_destinatario,"contatto dal sito - $oggetto","Nome: $nome nOggetto: $oggetto nEmail: $email nCommento: n$commenti nTelefono: $telefono","From:$email");
echo"
Grazie per aver inviato il messaggio</p>";?>
<?php } }
?>
</body>
</html>