php验证码之图片验证

在前两个的基础下把原来生成的字符和汉字替换为图片,然后用一个数组保存相应图片的描述,让该数组和图片保持一致的下标,下面来看一下具体实现的代码:

首先还是captcha.php用来保存生成图片的代码:

<?php

	session_start();
	

	$table=array(

		'pic1'=>'鱼',
		'pic2'=>'狗',
		'pic3'=>'鸟',
		'pic4'=>'猫'
		);

	$index=rand(1, 4);
	$value=$table['pic'.$index];

	$_SESSION['authcode']=$value;
	
	$filename=dirname(__FILE__).'\\pic'.$index.'.jpg';

	$content=file_get_contents($filename);

	header('content-type:image/jpg');

	echo $content;


?>
用form_img.php来实现表单的部分:

<?php
	header('content-type:text/html;charset=utf-8');
	if(isset($_REQUEST['authcode'])){
		session_start();
		
		if(strtolower(trim($_REQUEST['authcode'])) == $_SESSION['authcode']){
			echo '<font color="#0000CC">输入正确</font>';
		}else{
			echo '<font color="#CC0000"> <b>输入错误</b> </font>';
		}
		exit();
	}
?>
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>确认验证码</title>
	</head>
	<body>
		<form method="post" action="./form_img.php">
			<p>
				验证码图片:<img  id="captcha_img" border="1" src="./captcha_img.php?r=<?php echo rand();?>" width:500px; height:300px" />
				<a href="javascript:void(0)" οnclick="document.getElementById('captcha_img').src='./captcha_img.php?r=Math.random()'">换一个?</a>
			</p>
			<p>请输入图片中动物的类型(鸟, 鱼, 狗, 猫):<input type="text" name="authcode" value"" /></p>
			<p><input type="submit" value="提交" style="padding:6px 20px;"></p>
		</form>
	</body>
</html>


效果图如下:


  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值