salve ragazzi ho un piccolo problema da risolvere...praticamente ho realizzato 2 form
identici (quasi)uno studenti e l'altro docenti e utilizzo la jquery validate per fare il controllo della user e della mail.
il problema consiste, quando vado ad inserire gli utenti all'interno del db....praticamente finquando non inserisco anche i dati di almeno un docente all'interno del db,non effettua il controllo della user dunque accetta anche user già esistenti....invece una volta inserito il primo docente tutto funziona ottimamente.
Codice PHP:
<form action="studenti.php" class="insert" name="frm_studenti" id="frm_studenti" method="post">
<fieldset>
<h4>login</h4>
<div class="item">
<label for="user">user [i]*[/i]</label>
<input id="user" name="user" type="text" class="input w300 required digits" />
</div>
<div class="item">
<label for="password">password [i]*[/i]</label>
<input class="input w300 required" name="password" type="text" />
</div>
<div class="item">
<label for="invia_dati">invia dati di accesso</label>
<input class="input" name="invia_dati" type="checkbox" />
</div>
</fieldset>
<fieldset>
<h4>dati anagrafici</h4>
<div class="item">
<label for="nome">nome [i]*[/i]</label>
<input name="nome" type="text" class="input w300 required" />
</div>
<div class="item">
<label for="cognome">cognome [i]*[/i]</label>
<input class="input w300 required" name="cognome" type="text" />
</div>
<div class="item">
<label for="data_nascita">data di nascita</label>
<input name="data_nascita" type="text" class="input w150" />
</div>
<div class="item">
<label for="luogo_nascita">luogo di nascita</label>
<input name="luogo_nascita" type="text" class="input w400" />
</div>
<div class="item">
<label for="codice_fiscale">codice fiscale</label>
<input name="codice_fiscale" type="text" class="input w200" />
</div>
</fieldset>
<fieldset>
<h4>recapiti e riferimenti</h4>
<div class="item">
<label for="indirizzo">indirizzo</label>
<input name="indirizzo" type="text" class="input w400" />
</div>
<div class="item">
<label>città</label>
<input name="citta" type="text" class="input w300" />
</div>
<div class="item">
<label>provincia</label>
<input name="provincia" type="text" class="input w200" />
</div>
<div class="item">
<label>cap</label>
<input name="cap" type="text" class="input w100" />
</div>
<div class="item">
<label>telefono</label>
<input name="telefono" type="text" class="input w200" />
</div>
<div class="item">
<label>cellulare</label>
<input name="cellulare" type="text" class="input w200" />
</div>
<div class="item">
<label>e-mail [i]*[/i]</label>
<input id="email" name="email" type="text" class="input w300 email required" />
</div>
</fieldset>
<fieldset>
<h4>note</h4>
<div class="item">
<label for="note">note</label>
<textarea name="note" class="input w400"></textarea>
</div>
</fieldset>
<div class="form-submit">
<input type="hidden" name="action" value="inserisci" />
<input type="submit" value="salva" />
</div>
</form>
<script language="javascript">
$(document).ready(function()
{
$("#frm_studenti").validate(
{
rules:
{
user:
{
rangelength: [10, 10],
remote:
{
url: "studenti.php?action=verifica_username",
type: "post",
data:
{
username: function()
{
return $("#user").val();
}
}
}
},
email:
{
remote:
{
url: "studenti.php?action=verifica_email",
type: "post",
data:
{
email: function()
{
return $("#email").val();
}
}
}
},
messages:
{
user:
{
remote: "Username già esistente",
},
email:
{
remote: "Email già esistente",
},
}
}
});
});
</script>
questa è la query che invece va a controllare all'interno del db
Codice PHP:
<?
$username = $_POST["username"];
$query = "SELECT * FROM studenti, docenti WHERE studenti.user = '".$username."' OR docenti.user = '".$username."'";
$result = mysql_query($query) or die(mysql_error());
if (mysql_num_rows($result) > 0) {
echo 0;
} else {
echo 1;
}
mysql_free_result($result);
?>
questa è la funzione validate.messages
Codice PHP:
jQuery.extend(jQuery.validator.messages, {
required: "Campo obbligatorio.",
remote: "Controlla questo campo.",
email: "Inserisci un indirizzo email valido.",
url: "Inserisci un indirizzo web valido.",
date: "Inserisci una data valida.",
dateISO: "Inserisci una data valida (ISO).",
number: "Inserisci un numero valido.",
digits: "Inserisci solo numeri.",
creditcard: "Inserisci un numero di carta di credito valido.",
equalTo: "Il valore non corrisponde.",
accept: "Inserisci un valore con un'estensione valida.",
maxlength: jQuery.format("Non inserire più di {0} caratteri."),
minlength: jQuery.format("Inserisci almeno {0} caratteri."),
//rangelength: jQuery.format("Inserisci un valore compreso tra {0} e {1} caratteri."),
rangelength: jQuery.format("Inserisci un valore di 10 numeri."),
range: jQuery.format("Inserisci un valore compreso tra {0} e {1}."),
max: jQuery.format("Inserisci un valore minore o uguale a {0}."),
min: jQuery.format("Inserisci un valore maggiore o uguale a {0}.")
});
saluti vale