嗨,我想用php创建一个图片验证码,我的表单有下一个代码。
<form action="" method="POST">
<div class="label_form">Usuario:</div> <input type="text" name="user"/><br>
<div class="label_form">Contraseña:</div> <input type="password" name="pass"/><br>
<img alt="Numeros aleatorios" src="layouts/captcha.php" />
<input class="label_form" type="text" name="num"/><br>
<input type="submit" value="ENTRAR" name="submit"/>
</form>
这是发送表单之前进行验证的代码:
if (isset($_POST["submit"])) {
if ($_SESSION['img_number'] != $_POST['num']) {
echo "<div class='msg_error'>Los caracteres no se corresponden.</div>";
} else {
/*DO STUFF*/
}
}
在其他文件中,captcha.php
我有用于生成图像的代码php:
header("Content-type: image/png");
$string = "abcdefghijklmnopqrstuvwxyz0123456789";
for ($i = 0; $i < 5; $i++) {
$pos = rand(0, 36);
$str. = $string {
$pos
};
}
$img_handle = ImageCreate(60, 22) or die("Es imposible crear la imagen");
$back_color = ImageColorAllocate($img_handle, 102, 102, 153);
$txt_color = ImageColorAllocate($img_handle, 255, 255, 255);
ImageString($img_handle, 31, 5, 0, $str, $txt_color);
Imagepng($img_handle);
session_start();
$_SESSION['img_number'] = $str;
这给了一个破碎的图像,显示了from的alt img
"Numeros aleatorios"
,所以告诉我的file.php
调用很好,img
但是生成的代码无法正常工作,任何帮助都是gratefull:D谢谢。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句