php中 验证码不同步怎么办

本文操作环境:windows7系统、PHP7.1版、DELL G3电脑

php中 验证码不同步怎么办?

完美解决php验证码session不同步的问题

各位搞开发的人都经历过被怪现象折磨的滋味,怎么说呢?想找原因找不出来,想解决又解决不了,接下来我们就来说说php验证码这个怪僻。。

先给大家上个图,相信你们也似曾相识。。

676b87b3ee49dace038ccc78dd15c3b.png

你会发现两个值竟然不一样,不一样咋验证?????

于是乎,我就在网上找到了原因:页面加载login.php页面时,图片的加载跟其他标签加载是异步的,所以其他标签信息先加载,而后才会去加载src(图片),不同步导致“验证码”也不同步。

知道了原因,作为菜鸟的我看了别人写的解决方案后仍然无从下手。。

终于,在一个偶然的机会,我从一个项目中找到答案。。

其实,解决方法很简单,根本不用理会显示的值相同不相同,举个例子。。

login.php 登录页面

<fORM action="login_check.php" method="post">
验证码:
<input name="checkcode" type="text" /><img src="yan.php" alt="看不清?点击更换"  style="cursor:pointer" onClick="this.src=this.src+'?'"  />//yan.php是生成验证码的页面。
</form>

login_check.php 验证页面

<?php 
    session_start();//开启session
    $checkcode= strtolower($_POST["checkcode"]);//获取验证码文本框的值
    echo $checkcode;//输出验证码文本框的值
    echo $_SESSION['VerifyCode']//输出yan.php输出的值
?>

提交后,你会惊奇的发现,如果我在login.php输入与生成验证码的值一样的话,那么在login_check.php输出的两个值是除了大小写不一样,字母是一样的。

当然大小写的问题,我们都能解决。

讲到这里,我相信,不同步的问题就算解决了

当然,我知道有些最求完美的人喜欢用ajax,根据个人所好,屏闪来闪去,看起来也不太爽,不过,用ajax的话,不要提交到本页面,不然验证不了,通过一个外部文件进行异步验证是没有问题的。

--结束END--

本文标题: php中 验证码不同步怎么办

本文链接: https://www.lsjlt.com/news/300.html (转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢

  • PHP中php://input怎么用

    php://input可以读取没有处理过的POST数据,其使用方法如“$xmldata = file_get_contents("php://input");”,用于接收xml数据。
    阅读数:735 PHP 输入流
  • openstack中php sdk php-opencloud怎么用

    这篇文章主要介绍了openstack中php sdk php-opencloud怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 openstack提供的是rest风
    阅读数:800 php api
  • php中如果删除cookie

    在php中,可以利用setcookie()函数来删除cookie,只需要将该函数的第二个参数设置为空,或者第三个参数设置为小于系统的当前时间即可。
    阅读数:934 php cookie
  • php中exec返回什么

    在PHP中,exec()函数返回命令执行结果的最后一行内容。该函数用于执行一个外部程序,当指定函数的output参数时,会使用返回结果填充output,若output参数中已经有了元素,exec函数会在output后面追加。
    阅读数:860 php
  • php中continue怎么用

    在php中,continue关键字是用在循环结构中的,可以控制程序放弃本次循环中continue语句之后的代码并进行下一次循环;continue还可以接受一个可选的数字参数来决定跳过几重循环的循环末尾,默认值是1,即跳到当前循环的末尾。
    阅读数:118 php continue
  • php中.=什么意思

    php中“.=”表示赋值运算符,是字符串连接的意思,该运算符的使用语法如“$string .= string2;”,可以实现字符串拼接效果。
    阅读数:179 php
  • .= php中是啥意思

    .=在php中是一种赋值运算符,用于连接两个字符串,比如表达式“a .= b”也就是表达式“a = a . b”的意思。
    阅读数:782 .=
  • php中怎么定义类

    在php中,可以使用class关键字加类名的方式来定义一个类,并用大括号“{}”将在类体中定义类的属性和方法包裹起来,语法“[修饰类的关键字] class 类名{类的属性和方法;}”。
    阅读数:155 php 定义类
  • PHP中怎么连接MSSQL

    今天就跟大家聊聊有关PHP中怎么连接MSSQL,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。  PHP连接MSSQL的实现方法。ms SQL是指微软的SQLServer数据库服务器,
    阅读数:171 php mssql
  • php中怎么创建ODBC

    本篇内容介绍了“php中怎么创建ODBC”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!ODBC 是一种应用程序编程接口(Applicatio
    阅读数:299 odbc php
  • php中怎么设置时区

    今天就跟大家聊聊有关php中怎么设置时区,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。PHP中设置时区方法小结代码如下:? date_default_timezone_set(PR
    阅读数:729 php
  • LAMP中如何编译PHP

    这篇文章给大家分享的是有关LAMP中如何编译PHP的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1. [root@KAKA php-5.3.27]# ./configure --prefix=/usr/local
    阅读数:748 php lamp
  • php中list怎么用

    这篇文章将为大家详细讲解有关php中list怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。list妙用//妙用一list($a,$b) = [$b,$a];//妙用二list(,$fn) =
    阅读数:868 php list
  • PHP中如何修改Cookie

    本篇内容主要讲解“PHP中如何修改Cookie”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“PHP中如何修改Cookie”吧!什么是 Cookie?cookie通常用于识别用户。cookie是服
    阅读数:924 php cookie
  • php中什么是关联数组

    在php中,关联数组是值以字符串或字符串、数字混合为键名的数组;如果一个数组中有一个键名不是数字,那么这个数组就是关联数组。关联数组的键名可以是任何一个整数或字符串;如果键名是一个字符串,则要给这个键名加上一个定界修饰符:单引号“''”或双引号“""”。
    阅读数:867 php php数组
  • php中$this是啥意思

    在php中,“$this”的意思为“当前对象”,它是指向当前对象实例的指针,与连接符“->”联合使用,专门用来完成对象内部成员之间的访问;语法“$this -> 成员属性;”或“$this -> 成员方法(参数列表);”。
    阅读数:737 php $this
  • php中变量的设置方法

    php中变量的设置方法:1、创建一个PHP示例文件;2、通过“$符号+变量名称”的方式设置变量,代码如“$txt="Hello world!";”。
    阅读数:413 php
  • PHP中feof 什么意思

    PHP中feof是一个用于检测是否已到达文件末尾的函数,其使用语法是“feof(file)”,其中参数file规定了要检查的打开文件。
    阅读数:639 PHP feof
  • php中fetch什么意思

    php中fetch指的是查询数据的fetch方法,php中常用的fetch方法是mysqli_fetch_assoc、mysqli_fetch_row、mysqli_fetch_array、mysqli_fetch_object。
    阅读数:370 php fetch
  • php中403是什么报错

    php中403报错的解决办法:1、打开apache的配置文件httpd.conf;2、修改内容为“allow from all”;3、保存配置文件即可。
    阅读数:654 php 403