PHP 验证码的实现代码_php教程-查字典教程网
PHP 验证码的实现代码
PHP 验证码的实现代码
发布时间:2016-12-29 来源:查字典编辑
摘要:checkcode.php生成验证码图片,还有变量$_SESSION[check_pic]。复制代码代码如下:form.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>

<fieldset><legend>留言</legend>

<div>

<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">

</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教程学习
    热门php教程学习
    编程开发子分类