par
romantica » 21 févr. 2011, 11:56
bonjour,j'ai trouvé un petit script de code captcha qui est très léger et je l'ai adopté,mais mon problème est que le formulaire est validé même sans taper le code,le voici:
<?php
$oui = '1';
$value = '';
$type = 'password';
if ( isset ($_POST['code_entre']) AND isset ($_POST['code']))
{
$code_entre = $_POST['code_entre'];
$code = $_POST['code'];
$code = $code / '368.5';
if ($code_entre == NULL)
{
$ok = ' Erreur, vous n\'avez pas entré de code.';
$oui = '0';
}
elseif ($code_entre != $code)
{
$ok = ' Erreur, mauvais code.';
$oui = '0';
}
else
{
$ok = ' OK, le code est bon.';
$value = 'value="' .$code. '"';
$type = 'text';
}
}
else
{
$ok = '';
$oui = '0';
}
if ( $oui == '0' )
{
$code = rand('100000', '999999');
header ('Content-type: image/png');
$image = imagecreate('56', '20');
$noir = imagecolorallocate($image, '0', '0', '0');
$blanc = imagecolorallocate($image, '255', '255', '255');
imagestring($image, '4', '4', '2', $code, $blanc);
imagepng($image, 'code.png');
header ('Content-type: text/html');
}
$code = $code * '368.5';
?>
<form method="post" action="">
<p><img src="code.png" title="Code" alt="Code"/><label for="code_entre"> Entrez le code de l'image.</label> <input type="<?php echo $type ?>" name="code_entre" id="code_entre" size="7" maxlength="6" <?php echo $value; ?>/>
<input type="submit" value="OK"/>
<input name="code" id="code" type="hidden" value="<?php echo $code; ?>"/>
</form>
<?php echo $ok; ?></p>
avez vous une idée?
merci de votre aide
bonjour,j'ai trouvé un petit script de code captcha qui est très léger et je l'ai adopté,mais mon problème est que le formulaire est validé même sans taper le code,le voici:
[php] <?php
$oui = '1';
$value = '';
$type = 'password';
if ( isset ($_POST['code_entre']) AND isset ($_POST['code']))
{
$code_entre = $_POST['code_entre'];
$code = $_POST['code'];
$code = $code / '368.5';
if ($code_entre == NULL)
{
$ok = ' Erreur, vous n\'avez pas entré de code.';
$oui = '0';
}
elseif ($code_entre != $code)
{
$ok = ' Erreur, mauvais code.';
$oui = '0';
}
else
{
$ok = ' OK, le code est bon.';
$value = 'value="' .$code. '"';
$type = 'text';
}
}
else
{
$ok = '';
$oui = '0';
}
if ( $oui == '0' )
{
$code = rand('100000', '999999');
header ('Content-type: image/png');
$image = imagecreate('56', '20');
$noir = imagecolorallocate($image, '0', '0', '0');
$blanc = imagecolorallocate($image, '255', '255', '255');
imagestring($image, '4', '4', '2', $code, $blanc);
imagepng($image, 'code.png');
header ('Content-type: text/html');
}
$code = $code * '368.5';
?>
<form method="post" action="">
<p><img src="code.png" title="Code" alt="Code"/><label for="code_entre"> Entrez le code de l'image.</label> <input type="<?php echo $type ?>" name="code_entre" id="code_entre" size="7" maxlength="6" <?php echo $value; ?>/>
<input type="submit" value="OK"/>
<input name="code" id="code" type="hidden" value="<?php echo $code; ?>"/>
</form>
<?php echo $ok; ?></p>[/php]
avez vous une idée?
merci de votre aide