PHP (20140513)

验证验证码的PHP代码:

利用随机数随机生成四位数的验证码。


 1 <?php
2
3 session_start();
4 $arr = array(
5 ‘a‘,‘b‘,‘c‘,‘d‘,‘e‘,‘f‘,‘g‘,‘h‘,‘i‘,‘j‘,‘k‘,‘l‘,‘m‘,‘n‘,‘o‘,‘p‘,‘q‘,‘r‘,‘s‘,‘t‘,‘u‘,‘v‘,‘w‘,‘x‘,
6 ‘y‘,‘z‘,‘0‘,‘1‘,‘2‘,‘3‘,‘4‘,‘5‘,‘6‘,‘7‘,‘8‘,‘9‘
7 );
8 $rand = "";
9 for($i=1;$i<=4; $i++){
10 $rand .= $arr[rand(0,count($arr)-1)];
11 }
12 $_SESSION[‘check_pic‘] = $rand;
13 //生成图片
14 $im = imagecreatetruecolor(100,30);
15 //生成颜色,当第一次调用生成颜色的方法,是生成背景颜色
16 $bg = imagecolorallocate($im,0,0,0);
17 //第二次调用这个方法,是可以生成图片上面的文字或其他样式的颜色
18 $te = imagecolorallocate($im,255,255,255);
19
20 //在图片上面生成文字
21 imagestring($im,rand(1,5),rand(3,70),rand(3,15),$rand,$te);
22 //要把php当成图片输出,必须给文件一个头申明
23
24 ob_clean();
25 header("Content-type:image/jpeg");
26 //最终生成图片
27 imagejpeg($im);
28
29 ?>

验证验证码是否正确的代码:


 1 <html>
2 <head>
3 <meta http-equiv="Content-Type"
4
5 content="text/html;charset=UTF-8"/>
6 </head>
7 <body>
8
9 <?php
10
11 session_start();
12 if(isset($_POST[‘check‘])){
13 if($_POST[‘check‘] == $_SESSION[‘check_pic‘]){
14 echo "验证成功";
15 }else{
16 echo "验证失败";
17 }
18 }
19 ?>
20
21 <form action="check2.php" method="post">
22 <input type="text" name="check"/>
23 <img src="check1.php" alt="" onclick="refreshImg()"
24
25 id="chk" style="cursor: pointer"/>
26 <br/>
27
28 <input type="submit" value="提交"/>
29 </form>
30 <script>
31 function refreshImg(){
32 //避免浏览器认为一直访问的同一个页面,所以用随机数传一个
33
34 值,让它以为访问的是不同页面
35 var rand = Math.round(Math.random()*10000);
36 var chk = document.getElementById("chk");
37 chk.src = "check1.php?num="+rand;
38 }
39 </script>

时间: 2024-10-31 09:07:32

PHP (20140513)的相关文章

21天战拖记——Day10:“书柜整理法”再学习(2014-05-13)

考试结束,没有考好,自己的性格决定的,不多说,看<小强>. 学习<小强升职记(升级版)>记录: 明确意义:为衣物分类 处理收集篮的几个原则: 从最上面的一项开始处理 一次只处理一件事情 永远不要在放回到收集篮(被迫中断的事情除外) 三类"不能行动"的任务 垃圾:捕捉的时候直接过滤到 将来某时 参考资料:分类归档 六类"可以执行"的任务 2分钟行动:立即去做 项目:需要多个步骤,需要多部门协调的事情 任务:由多个行动组成,几乎都是自己解决的事情

SQL总结(三)其他查询

SQL总结(三)其他查询 其他常用的SQL,在这里集合. 1.SELECT INTO 从一个表中选取数据,然后把数据插入另一个表中.常用于创建表的备份或者用于对记录进行存档. 语法: SELECT column_name(s) INTO new_table_name [IN externaldatabase] FROM old_tablename IN 子句可用于向另一个数据库中拷贝表. 1)备份表信息 SELECT ID,Name INTO Students_Backup FROM Stude

使用 IDEA 创建 Maven Web 项目 (异常)- Disconnected from the target VM, address: &#39;127.0.0.1:59770&#39;, transport: &#39;socket&#39;

运行环境: JDK 版本:1.8 Maven 版本:apache-maven-3.3.3 IDEA 版本:14 maven-jetty-plugin 配置: <plugin> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-maven-plugin</artifactId> <configuration> <webAppSourceDirectory>${pro

在深圳有娃的家长必须要懂的社保少儿医保,不然亏大了!(收藏)

在深圳有娃的家长必须要懂的社保少儿医保,不然亏大了!(收藏) 转载2016-07-26 17:21:47 标签:深圳少儿医保社保医疗保险住院 在深圳工作或生活的家长们可能还有人不清楚,其实小孩子最大的基础保障福利就是少儿医保.如果以前没重视关注的,现在您看到这篇文章还来得及!少儿医保每年政府财政补贴384元,自己只需交200元左右,就可以享受门诊报销1000元,住院报销比例90%,最高报销额度达148万,大病门诊最高报销比例90%!如何享受?有哪些待遇?接下来就详细来做一个介绍: 少儿医保投保需

彻底解决_OBJC_CLASS_$_某文件名&quot;, referenced from:问题(转)

最近在使用静态库时,总是出现这个问题.下面总结一下我得解决方法: 1. .m文件没有导入   在Build Phases里的Compile Sources 中添加报错的文件 2. .framework文件没有导入静态库编译时往往需要一些库的支持,查看你是否有没有导入的库文件同样是在Build Phases里的Link Binary With Libraries中添加 3. 重复编译,可能你之前复制过两个地方,在这里添加过两次,删除时系统没有默认删除编译引用地址在Build Settings里搜索

爱奇艺、优酷、腾讯视频竞品分析报告2016(一)

1 背景 1.1 行业背景 1.1.1 移动端网民规模过半,使用时长份额超PC端 2016年1月22日,中国互联网络信息中心 (CNNIC)发布第37次<中国互联网络发展状况统计报告>,报告显示,网民的上网设备正在向手机端集中,手机成为拉动网民规模增长的主要因素.截至2015年12月,我国手机网民规模达6.20亿,有90.1%的网民通过手机上网. 图 1  2013Q1~2015Q3在线视频移动端和PC端有效使用时长份额对比 根据艾瑞网民行为监测系统iUserTracker及mUserTrac

Android 导航条效果实现(六) TabLayout+ViewPager+Fragment

TabLayout 一.继承结构 public class TabLayout extends HorizontalScrollView java.lang.Object ? android.view.View ? android.view.ViewGroup ? android.widget.FrameLayout ? android.widget.HorizontalScrollView ? android.support.design.widget.TabLayout 二.TabLayou

微信小程序——豆瓣电影——(2):小程序运行部署

Demo 预览 演示视频(流量预警 2.64MB) GitHub Repo 地址 仓库地址:https://github.com/zce/weapp-demo 使用步骤 将仓库克隆到本地: bash $ git clone https://github.com/zce/weapp-demo.git weapp-douban --depth 1 $ cd weapp-douban 打开微信Web开放者工具(注意:必须是0.9.092300版本) 必须是0.9.092300版本,之前的版本不能保证正

初识运维3--在虚拟机中安装Linux发行版系统(CentOS)的方法

在讲Linux系统发行版本的安装过程之前,先大略说明一下虚拟化. 虚拟化:将底层硬件资源抽象为用户更容易读懂和使用的逻辑抽象层的技术. 最早由IBM提出,现使用率较高的虚拟化软件平台有三类:VMware workstation.VirtualBOX.HyperV.在这里使用VMware workstation作为例子讲解说明安装过程. 虚拟化网络: 桥接模式:让物理机和虚拟机利用物理网络接口完成通信.虚拟机可以访问互联网. 仅主机模式:让虚拟机和物理机利用被虚拟出来的VMnet1网络接口完成通信