PHP 验证码的实现代码_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>";
}
}
?>

时间: 2024-11-03 01:24:59

PHP 验证码的实现代码_php技巧的相关文章

php生成4位数字验证码的实现代码_php技巧

在php中实现验证码还是很方便的,关键点在于掌握php gd库与session的用法. 纵观网上php 生成验证码的例子,无不是php gd库与session相结合,并利用php 生成随机数的方法来完成. PHP验证码,可以分为很多种,包括 php 图片验证码,php 随机验证码,以及php 中文验证码等,根据不同的应用场合来使用不同的验证码. 这里分享一个php数字验证码,供大家参考. 4位数字验证码 /* *Filename:authpage.php */ session_start();

解析dedeCMS验证码的实现代码_php技巧

如下所示: 复制代码 代码如下: <?php$rndstring = '';for($i=0; $i<4; $i++) $rndstring .= chr(mt_rand(65,90));//如果支持GD,则绘图if(function_exists("imagecreate")){ //Firefox部份情况会多次请求的问题,5秒内刷新页面将不改变session $ntime = time(); if(empty($_SESSION['dd_ckstr_last']) ||

php5 图片验证码实现代码_php技巧

GD库的函数 1,imagecreatetruecolor -----创建一个真彩色的图像 imagecreatetruecolor(int x_size,int y_size) //x表示宽,y表示高 2,imagecolorallocate 为一幅图像分配颜色(调色板) imagecolorallocate(resource image,int red,int green,int blue)//red,green,blue----三原色 3,imagestring 绘图函数 iamgestr

php验证码生成代码_php技巧

验证码通常是用来安全保证我们网站注册或登录不被注入的,但为了更安全我们通常会生成一些混合验证码了,下面一起来看看例子. 在我们开发登录模块或者是论坛的灌水模块的时候,为了防止恶意提交,需要用到验证码,验证码就是用来区分人和机器的一种手段,当然这种手段不是万无一失,但总归会起到一些作用. 验证码的实现需要GD库的支持,没有开启GD库的童鞋需开启GD库,其实验证码的制作和使用非常的简单,仅仅只是需要4个步骤就可以搞定:创建验证码底图,显示验证码内容,增加干扰元素,输出验证码,下面我们来进行步骤拆分:

PHP 动态随机生成验证码类代码_php技巧

下面是效果图,这个效果图是没有开启干扰码的效果图 下面是类代码 复制代码 代码如下: <?php /************************************************ //FILE:ImageCode //DONE:生成动态验证码类 //DATE"2010-3-31 //Author:www.5dkx.com 5D开心博客 *********************************************************************

php 数学运算验证码实现代码_php技巧

复制代码 代码如下: <?php //------------------------------------- // 文件说明:数学运算验证码 // 文件作者:Jesse Lee // 最后更新:2008-09-07 //------------------------------------- session_start(); $sessionvar = 'vdcode'; //Session变量名称 $width = 150; //图像宽度 $height = 20; //图像高度 $op

php 生成随机验证码图片代码_php技巧

复制代码 代码如下: <?php /** 默认首页 **/ class DefaultController extends AppController { public function index() { $len = 5; $str = "ABCDEFGHIJKLNMPQRSTUVWXYZ123456789"; $im = imagecreatetruecolor ( 70, 20 ); $bgc = imagecolorallocate($im, 255, 255, 255

php中文字母数字验证码实现代码_php技巧

英文同数字 <?php Header("Content-type:image/png"); //定义header,声明图片文件,最好是png,无版权之扰;  //生成新的四位整数验证码 session_start();//开启session; $authnum_session = '';  $str = 'abcdefghijkmnpqrstuvwxyz1234567890';  //定义用来显示在图片上的数字和字母; $l = strlen($str); //得到字串的长度; 

php图片验证码代码_php技巧

复制代码 代码如下: <?php     //文件头...     header("Content-type: image/png");     //创建真彩色白纸     $im = @imagecreatetruecolor(50, 20) or die("建立图像失败");     //获取背景颜色     $background_color = imagecolorallocate($im, 255, 255, 255);     //填充背景颜色(这