PHP汉字验证码的实现

 更新时间:2016年11月25日 16:08  点击:1767

<?php    
/*    
* 文件:chinesechar.php    
* 作用:汉字数据储存    
* 作者:PHP实战群:33918040 - 鱼尾唯一    
* 网址:http://bbs.ailf.cn/ http://www.fishwei.com/  
* 特注:版权所有转载注明出处!有付出才会有收获!
*/    
$ChineseChar = array("人","出","来","友","学","孝","仁","义","礼","廉","忠","国","中","易","白","者","火 ","土","金","木","雷","风","龙","虎","天","地",   "生","晕","菜","鸟","田","三","百","钱","福 ","爱","情","兽","虫","鱼","九","网","新","度","哎","唉","啊","哦","仪","老","少","日",   "月 ","星");    
?>    

<?php    
/*    
* 文件:check.php    
* 作用:验证    
* 作者:PHP实战群:33918040 - 鱼尾唯一    
* 网址:http://bbs.ailf.cn/ http://www.fishwei.com/   
* 特注:版权所有转载注明出处!有付出才会有收获!
*/    
session_start();    
$errorMSG = '''';    
//验证用户输入是否和验证码一致    
if(!is_null($_POST[''check'']))    
{    
        if (strcasecmp($_SESSION[''code''],$_POST[''code''])==0)    
            $errorMSG = "<p style="font-size:12px用法:void parse_str ( string $str [, array &$arr] )

parse_str用来解析(分离)URL中的查询字符串(Query String),所谓查询字符串是指一个URL中?后面的部分,如http://localhost/test/result.php?name=anve&age=21,则查询字符串就是“name=anve&age=21”。

当然在PHP里,你可以用$_GET数组来取得查询字符串的值,但有时候parse_str会方便些,特别是当查询字符串中的变量名(对应于上面例子中的name和age)不知道的时候。

index.html:



<html>
<body>
    
<form action="result.php" method="get">
        name: 
<input type="text" name="name">
        age: 
<input type="text" name="age">
        
<input type="submit">
    
</form>
</body>
</html>

result.php:



<html>
<body>
<?php
$string=$_SERVER[''QUERY_STRING'']; // 用$_SERVER[''QUERY_STRING'']取得查询字符串。

echo ''$string: ''.$string.''<br>'';
parse_str($string);
echo ''$name: ''.$name.''<br>'';
echo ''$age: ''.$age.''<br>''// 经过parse_str后,生成了$name和$age两个变量,并被正确赋值。

parse_str($string,$arr); // 第二个参数$arr是一个用来保存结果的数组,这样就不会像刚才那样产生多个变量了。
echo ''<pre>'';
print_r($arr); // $arr[''name'']和$arr[''age'']被正确赋值。
echo ''</pre>'';
?>
</body>
</html>

另注:parse_str会自动进行urldecode(URL解码)。例如在index.html的name中输入“波波”,我的测试结果是:



Windows XP + Apache 2.2.4 + PHP 5.2.3 + MySQL 5.0.27 + Zend Optimizer 3.3.0环境配置说明(推荐)
2007年08月24日 星期五 下午 02:56


解决办法,在开头加入如下代码即可:

header("Cache-control: private"); 

<  

function weekDate() {
    
//get this week start date and end date
    $result = array();
    
$start = time() - (date(''w'')-1* 86400;
    
$end = time() + (7 - SyntaxHighlighter.highlight();
[!--infotagslink--]

相关文章

  • PHP 验证码不显示只有一个小红叉的解决方法

    最近想自学PHP ,做了个验证码,但不知道怎么搞的,总出现一个如下图的小红叉,但验证码就是显示不出来,原因如下 未修改之前,出现如下错误; (1)修改步骤如下,原因如下,原因是apache权限没开, (2)点击打开php.int., 搜索extension=ph...2013-10-04
  • jQuery Real Person验证码插件防止表单自动提交

    本文介绍的jQuery插件有点特殊,防自动提交表单的验证工具,就是我们经常用到的验证码工具,先给大家看看效果。效果图如下: 使用说明 需要使用jQuery库文件和Real Person库文件 同时需要自定义验证码显示的CSS样式 使用实例...2015-11-08
  • Django def clean()函数对表单中的数据进行验证操作

    这篇文章主要介绍了Django def clean()函数对表单中的数据进行验证操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-07-09
  • JS实现随机生成验证码

    这篇文章主要为大家详细介绍了JS实现随机生成验证码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-09-06
  • JavaScript实现密码框输入验证

    这篇文章主要为大家详细介绍了JavaScript实现密码框输入验证,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-10-01
  • Jquery插件实现点击获取验证码后60秒内禁止重新获取

    通过jquery.cookie.js插件可以快速实现“点击获取验证码后60秒内禁止重新获取(防刷新)”的功能效果图:先到官网(http://plugins.jquery.com/cookie/)下载cookie插件,放到相应文件夹,代码如下:复制代码 代码如下: <!DOCTYPE ht...2015-03-15
  • Nest.js 授权验证的方法示例

    这篇文章主要介绍了Nest.js 授权验证的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-02-22
  • el-table树形表格表单验证(列表生成序号)

    这篇文章主要介绍了el-table树形表格表单验证(列表生成序号),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-06-01
  • php实现点击可刷新验证码

    验证码类文件 CreateImg.class.php <&#63;php class ValidationCode { private $width,$height,$codenum; public $checkcode; //产生的验证码 private $checkimage; //验证码图片 private $disturbColor = ''; /...2015-11-08
  • 基于JavaScript实现验证码功能

    这篇文章主要介绍了基于JavaScript实现验证码功能的相关资料...2017-04-03
  • JQuery form表单提交前验证单选框是否选中、删除记录时验证经验总结(整理)

    这篇文章主要介绍了JQuery form表单提交前验证单选框是否选中、删除记录时验证经验总结,非常不错,具有参考借鉴价值,需要的朋友参考下吧...2017-06-15
  • js canvas实现滑块验证

    这篇文章主要为大家详细介绍了js canvas实现滑块验证,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-03-14
  • selenium 反爬虫之跳过淘宝滑块验证功能的实现代码

    这篇文章主要介绍了selenium 反爬虫之跳过淘宝滑块验证功能,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-08-27
  • vue element table中自定义一些input的验证操作

    这篇文章主要介绍了vue element table中自定义一些input的验证操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-07-18
  • vue实现表单验证小功能

    这篇文章主要为大家详细介绍了vue实现表单验证小功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-09-29
  • Bootstrap中文本框的宽度变窄并且加入一副验证码图片的实现方法

    这篇文章主要介绍了Bootstrap中文本框的宽度变窄并且加入一副验证码图片的实现方法的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下...2016-06-24
  • 单击按钮发送验证码,出现倒计时的简单实例

    下面小编就为大家带来一篇单击按钮发送验证码,出现倒计时的简单实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧 代码...2017-07-06
  • PHP验证码生成与验证例子

    验证码是一个现在WEB2.0中常见的一个功能了,像注册、登录又或者是留言页面,都需要注册码来验证当前操作者的合法性,我们会看到有些网站没有验证码,但那是更高级的验证了,...2016-11-25
  • 基于Pytorch版yolov5的滑块验证码破解思路详解

    这篇文章主要介绍了基于Pytorch版yolov5的滑块验证码破解思路详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-02-25
  • jquery表单验证插件validation使用方法详解

    这篇文章主要为大家详细介绍了jquery表单验证插件validation使用方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2017-01-23

以下为本说明所要用到的软件及相关网站,zend网站下载需要注册一个用户。
Apache 2.2.4 — www.apache.org
PHP 5.2.3 — www.php.net
MySQL 5.0.27 — www.mysql.com
Zend Optimizer 3.3.0 — www.zend.com
phpMyAdmin 2.9.2 — www.phpmyadmin.net

≡ Apache 2.2.4 的安装 ≡

打开我的电脑,进入D盘,在其下新建一个文件夹,名为 local 。
到其官方站点下载 apache_2.2.4-win32-x86-no_ssl.msi 并执行。
按3次Next按钮,安装程序要求输入你的Network Domain(网络域名)、Server Domain(服务器域名)和网站管理员的E-mail,有的话就如实填写,本说明介绍的是本地自建测试环境,所以随便一下,前两个填 localhost ,邮件写自己的即可。
进入Next后,默认的安装路径是”C:Program FilesApache Software FoundationApache2.2”,修改路径,改为前面所述的”D:localApache2″。
然后一路下去,直到安装结束;此时,打开D盘下的local文件夹,可以看到有一个名为Apache2的文件夹。
打开IE,然后在地址栏输入:”http://localhost” 或者 “http://127.0.0.1″ 可以看到Apache安装完成的成功页面;以后网页的存在位置就在 “D:webserverApache2htdocs” 目录。

≡ PHP 5.2.3 的安装 ≡

到其官方站点下载 php-5.2.3-Win32.zip 并解压(在此不要下载及使用它的Installer,这种方式虽然很自动化、很智能,但也存在很多方面的限制,因为不推荐。)
将PHP文件解压到一个目录下,目录地址为 “D:webserverphp5″。
将PHP目录(D:webserverphp5)下的php.ini-dist复制到windows(有的系统是winnt目录)目录下,并改名为php.ini。
复制D:localphp目录下的所有dll文件到windows的系统文件夹里,即:C:windowssystem32。

≡ MySQL 5.0.27 的安装 ≡

1.打开我的电脑,进入D:webserver,在其下新建一个文件夹,名为 mysql5 。
2.到其官方站点下载 Mysql 5.0.27 Installer 并执行。
3.按Next,然后选择Custom安装方式。
4.点击Change,改变安装路径;原路径是”C:Program FilesMySQLMySQL Server 5.0”,这里改为:”D:webservermysql5”。
5.等安装进度条load完时,会出现一个Sign Up向导,这里不用理,选择最下面的那个Skip Sign-Up,然后Next,上面有个 “Configure the MySQL Server now” 是打勾的,不要去掉,直接点Finish。
6.现在开始安装最后的配置,点Next,选择Detailed Configuration,然后选择第二个Server Machine。
7.再Next,选择Non-Transactional Database Only。