PB validation formulaire et Captcha
Posté : 14 sept. 2007, 14:23
Bonjour à tous.
J'ai un problème avec un formulaire depuis que je l'ai "sécurisé" via captcha.
En fait, à la base j'utilisai un javascript qui alertai le visiteur s'il n'avait pas rempli tel ou tel champ.
Depuis que j'ai intégré le captcha, il ne tient plus compte de ce javascript.
Y a-t'il incompatibilité avec ces deux systèmes ?
Merci d'éclairer la lanterne d'un newbee.
Dipsy
Le code captcha présent dans la page du formulaire :
et le formulaire :
[/php]
J'ai un problème avec un formulaire depuis que je l'ai "sécurisé" via captcha.
En fait, à la base j'utilisai un javascript qui alertai le visiteur s'il n'avait pas rempli tel ou tel champ.
Depuis que j'ai intégré le captcha, il ne tient plus compte de ce javascript.
Y a-t'il incompatibilité avec ces deux systèmes ?
Merci d'éclairer la lanterne d'un newbee.
Dipsy
Le code captcha présent dans la page du formulaire :
<?php $chaine = str_shuffle("a+b-c*d/e+f-g/h.i*j+k-l*--______-----+++++++++++++_++++++++++++++//////_////////////////////////////////////.....................????????????????????????????????m*n/o-p+q+r/s5t5u-v+w+x+y-z/A-B*C/D*E-F-G+H+I.J.K/L*M-N-O*P/Q*R/S-T*U/V/W*X/Y-Z+0-1*2/3.4+5-6*7/8.9");
$chaine = md5($chaine).';'.$chaine.';'.str_shuffle($chaine); ?>
A suivre, le javascript pour validation des champs
Code : Tout sélectionner
<script language="JavaScript">
<!--
function couleur(obj) {
obj.style.backgroundColor = "#FFFFFF";
}
function check() {
var msg = "";
if (document.contact.nom.value == "") {
msg += "Veuillez saisir votre nom.\n";
document.contact.nom.style.backgroundColor = "#f6a800";
}
if (document.contact.prenom.value == "") {
msg += "Veuillez saisir votre prénom.\n";
document.contact.prenom.style.backgroundColor = "#f6a800";
}
if (document.contact.email.value != "") {
indexAroba = document.contact.email.value.indexOf('@');
indexPoint = document.contact.email.value.indexOf('.');
if ((indexAroba < 0) || (indexPoint < 0)) {
document.contact.mail.style.backgroundColor = "#f6a800";
msg += "Le mail est incorrect.\n";
}
}
else {
document.contact.email.style.backgroundColor = "#f6a800";
msg += "Veuillez saisir votre mail.\n";
}
if (document.contact.email2.value != document.contact.email.value) {
msg += "Les adresses email ne concordent pas.\n";
document.contact.email2.style.backgroundColor = "#f6a800";
}
if (msg == "") return(true);
else {
alert(msg);
return(false);
}
}
//-->
</script>Code : Tout sélectionner
<form vname="FormName" action="formulaire.php" method="post" enctype="multipart/form-data" name="form" onsubmit="return check();">
<div>
<table width="550" border="0" cellspacing="5" cellpadding="0">
<tr height="10">
<td class="txt_gris" align="left" width="275" height="21">Nom* :</td>
<td align="left" height="10"><input onkeyup="javascript:couleur(this);" type="text" name="nom" size="30" /></td>
</tr>
<tr height="10">
<td class="txt_gris" align="left" width="275" height="21">Prénom* :</td>
<td align="left" height="10"><input onkeyup="javascript:couleur(this);" type="text" name="prenom" size="30" /></td>
</tr>
<tr height="10">
<td class="txt_gris" align="left" width="275" height="10">E-mail* :</td>
<td align="left" height="10"><input onkeyup="javascript:couleur(this);" type="text" name="email" size="30" /></td>
</tr>
<tr height="10">
<td class="txt_gris" align="left" width="275" height="10">E-mail <em>(vérification saisie)</em>*:</td>
<td align="left" height="10"><input onkeyup="javascript:couleur(this);" type="text" name="email2" size="30" /></td>
</tr>
<tr height="10">
<td class="txt_gris" colspan="2" align="center" height="15">
<div align="center">Votre message :</div>
</td>
</tr>
<tr>
<td colspan="2" align="center">
<div align="center">
<textarea onkeyup="javascript:couleur(this);" name="message" rows="5" cols="54"></textarea></div>
</td>
</tr>
<tr>
<td class="txt_gris" valign="middle" width="275">Veuillez retaper ce code : <img src='captcha.php?shuffle=<?php echo $chaine ?>' alt='Image'/></td>
<td valign="middle"><input type='text' name='code' /></td>
</tr>
<tr>
<td colspan="2" align="center">
<div align="center">
<input type='hidden' name='sh' value='<?php echo $chaine ?>' />
<input type="submit" name="Submit" value="Envoyer" /></div>
</td>
</tr>
</table>
</div>
</form>