16 ospiti e 0 utenti registrati online.
UserName
  Password  Registrati Ora! E' Gratuito!
 
 MMKit Forums » » Php » » Controllo su campo solo se checkbox spuntato
(Moderato da: dyablo, m77, Zubin)  
AutoreTopic: Controllo su campo solo se checkbox spuntato
falco72 Uomo
Membro


Con noi da: 17-05-2006
Posts: 150
Da:

 Inviato il: 12-12-2007 11:34   
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...:dhò:


Code:


<?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>
<
br />
<
input name="oggetto" id="oggetto" value="<?php echo $oggetto; ?>" size="30" />
<?php if (!$errore_oggetto=="") { echo"<span><strong>$errore_oggetto</strong></span>";} else { echo"<span>*</span>";}?>
<br />
<
label for="nome">Nome</label>
<
br />
<
input name="nome" id="nome" value="<?php echo $nome; ?>" size="30" />
<?php if (!$errore_nome=="") { echo"<span><strong>$errore_nome</strong></span>";} else { echo"<span>*</span>";}?>
<br />
<
label for="mail">La tua e-mail</label>
<
br />
<
input name="email" id="mail" value="<?php echo $email; ?>" size="30" />
<?php if (!$errore_email=="") { echo"<span><strong>$errore_email</strong></span>";} else { echo"<span>*</span>";}?>
<br />
<
label for="commenti">Richieste e/o commenti</label>
<
br />
<
textarea name="commenti" id="commenti" cols="30" rows="8" ><?php echo $commenti; ?></textarea>
<?php if (!$errore_commenti=="") { echo"<span><strong>$errore_commenti</strong></span>";} else { echo"<span>*</span>";}?>
<br />
<
label for="telefono">Il tuo telefono (facoltativo)</label>
<
br />
<
input name="telefono" id="telefono" value="<?php echo $telefono; ?>" size="30" />

</
fieldset>

<
fieldset>
    <
legend>Quotazioni prodotti</legend>

<
label for="quotazione">Quotazione</label>&nbsp;<input type="checkbox" id="" />
<
br /><br />
<
label for="prodotti">Prodotto</label>
<
br />
<
input name="prodotti" id="prodotti" value="<?php echo $prodotti; ?>" size="30" />
<?php if (!$errore_prodotti=="") { echo"<span><strong>$errore_prodotti</strong></span>";} else { echo"<span>*</span>";}?>
<br />
<
label for="quantita">Quantità</label>
<
br />
<
input name="quantita" id="quantita" value="<?php echo $quantita; ?>" size="30" />
<?php if (!$errore_quantita=="") { echo"<span><strong>$errore_quantita</strong></span>";} else { echo"<span>*</span>";}?>

<br /><br />
<
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
"<p>Grazie per aver inviato il messaggio</p>";?>
<?php
} }

?>

</body>
</
html>



-----------------




Clicca qui per vedere il profilo di falco72 Invia un messaggio privato a falco72 Aggiungi falco72 alla tua buddy list Clicca qui per inviare una mail a falco72 Clicca qui per rispondere 'citando' questo post
  
  
Vai a:
Visualizza la versione da stampa
Segnala questo thread al moderatore
Aggiungi questo thread alla tua lista preferiti [Visualizza]
Non voglio più ricevere nessuna mail riguardo questo thread


FAQ | Top 10 | Statistiche
MMKit - Macromedia Community Shared Knowledge
Tutti i loghi sono appartenenti ai rispettivi proprietari