PHP 验证码的实现代码
2015-01-24信息快讯网
PHP 验证码的实现代码,需要的朋友可以参考下。
checkcode.php 生成验证码图片,还有变量 $_SESSION[check_pic]。<? session_start(); for($i=0; $i<4; $i++){ $rand.= dechex(rand(1,15)); } $_SESSION[check_pic]=$rand; //echo $_SESSION[check_pic]; // 设置图片大小 $im = imagecreatetruecolor(100,30); // 设置颜色 $bg=imagecolorallocate($im,0,0,0); $te=imagecolorallocate($im,255,255,255); // 把字符串写在图像左上角 imagestring($im,rand(5,6),rand(25,30),5,$rand,$te); // 输出图像 header("Content-type:image/jpeg"); imagejpeg($im); ?>
form.php
通过 <img src="checkcode.php"> 调用生成的验证码图片
<div class="bottomAds"> <fieldset class="bottomAds_quote"><legend>留言</legend> <div class="ads"> <form action="../utity/post.php" method="post" onsubmit="return chkinput(this)"> <input name="name" type="text" /> 您的名字 <input name="email" type="text" /> 您的邮件 <input name="website" type="text" /> 您的网站 <textarea name="content" style="width:340; height:150;"> </textarea><br /> <img src="checkcode.php"><input type="text" name="check"><br /> <input type="submit" value="提交" /> </form> </div> <br clear="both" /> </fieldset>
imagestring($im,rand(5,6),rand(25,30),5,$rand,$te); 使用了 int imagestring(int im, int font, int x, int y, string s, int col); 函数,这个函数用于绘横式字符串。
这个函数在图片上绘出水平的横式字符串。参数 font 为字形,设为 1 到 5 表示使用默认字形。参数 x、y 为字符串起点坐标。字符串的内容放在参数 s 上。参数 col 表示字符串的颜色。
post.php
比较 $_POST[check] 与 $_SESSION[check_pic],若相等则执行数据库插入操作。不相等就返回上一页。
<?php session_start(); if(isset($_POST[check])) { if($_POST[check] == $_SESSION[check_pic]) { // echo "验证码正确".$_SESSION[check_pic]; require("dbinfo.php"); $name = $_POST['name']; $email = $_POST['email']; $website = $_POST['website']; $content = $_POST['content']; $date = date("Y-m-d h:m:s"); // 连接到 MySQL 服务器 $connection = mysql_connect ($host, $username, $password); if (!$connection) { die('Not connected : ' . mysql_error()); } // 设置活动的 MySQL 数据库 $db_selected = mysql_select_db($database, $connection); if (!$db_selected) { die ('Can\'t use db : ' . mysql_error()); } // 向数据库插入数据 $query = "insert into table (nowamagic_name, nowamagic_email, nowamagic_website, nowamagic_content, nowamagic_date) values ('$name','$email','$website','$content','$date')"; $result = mysql_query($query); if($result) { echo "<script>alert('提交成功'); history.go(-1);</script>"; } if (!$result) { die('Invalid query: ' . mysql_error()); } } else { echo "<script>alert('验证码错误'); history.go(-1);</script>"; } } ?>
php中flush()、ob_flush()、ob_end_flush()的区别介绍
php去除换行符的方法小结(PHP_EOL变量的使用)
PHP 获取文件路径(灵活应用__FILE__)
php设计模式小结
php安全开发 添加随机字符串验证,防止伪造跨站请求
PHP图片验证码制作实现分享(全)
支持中文字母数字、自定义字体php验证码代码
PHP高自定义性安全验证码代码
PHP学习笔记 用户注册模块用户类以及验证码类
一个PHP验证码类代码分享(已封装成类)
PHP中用hash实现的数组
PHP中文分词的简单实现代码分享
PHP 删除文件与文件夹操作 unlink()与rmdir()这两个函数的使用
从手册去理解分析PHP session机制
php数组的一些常见操作汇总
PHP验证码类代码( 最新修改,完全定制化! )
《PHP编程最快明白》第七讲:php图片验证码与缩略图
php 验证码实例代码
PHP 动态随机生成验证码类代码