PHP 验证码 详细代码带注释 推荐!_PHP教程
教程Tag:暂无Tag,欢迎添加,赚取U币!
推荐:PHP操作文件类实例代码发一个刚写完的文件操作类 第一次写类,写的不好,大家多提意见,不过不要骂我 刚才又加了两个功能,又加了注释,高手一定帮我看看哪有问题啊,谢谢 file.class.php ?php /** *本类为文件操作类,实现了文件的建立,写入,删除,修改,复制,移动,创建目录,
checkcode.php
生成验证码图片,还有变量 $_SESSION[check_pic]。
form.php
- <?
- 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);
- ?>
通过 <img src="checkcode.php"> 调用生成的验证码图片
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); 函数,这个函数用于绘横式字符串。
- <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>
这个函数在图片上绘出水平的横式字符串。参数 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上传自动生成缩略图及水印类(含代码)思路很大一部分是原创的,但也有一些是COPY网络的,写得不够规范,还请各位大大不要见笑,同时给小弟些意见。 开始第一步: 创建文件夹,布局: annex:附件(该目录下存放上传的原图片) |— smallimg:存放缩略图片 |— mark:存放水印图片 include:存放
相关PHP教程:
- 相关链接:
- 教程说明:
PHP教程-PHP 验证码 详细代码带注释 推荐!。