• 技术文章 >后端开发 >PHP问题

    php验证码显示x是什么意思

    藏色散人藏色散人2022-11-03 09:11:50原创209

    php验证码显示x表示验证码没有正常显示出来,其解决办法:1、找到在“checkCode.php”文件;2、 在“checkCode.php”头部增加“ini_set('display_errors','Off');”语句即可。

    php入门到就业线上直播课:进入学习

    本教程操作环境:windows7系统、PHP8.1版、Dell G3电脑。

    php验证码显示x是什么意思?

    PHP用户登录界面验证码显示为“X”(验证码图片无法显示)解决办法

    1.验证码显示为“X”。

    dc20ba1a34c8fe5f4b806d524bce489.jpg

    2.代码浏览:

    1> Login.php代码,经检查,没有问题!

    <?php
       require_once "common.php"; 
    ?>
    <html>
      <head>
         <meta http-equiv="content-type" content="text/html;charset=utf-8"/>
      </head>
      <img src="./images/1.gif" height="100px" width="200px"/>
      <hr/>
      <h1>管理员登录界面</h1>
    <body>  
      <table style="font-size:14px;">
        <form action="loginProcess.php" method="post">
           <tr><td>用户ID:</td><td><input type="text" name="id" value="<?php echo getCookieVal("id");?>"></td></tr>
           <tr><td>密    码:</td><td><input type="password" name="password"></td></tr>
           <tr><td>验证码:</td><td><input type="text" name="checkCode"/></td>
           <td><img src="checkCode.php" οnclick="this.src='checkCode.php?aa='+Math.random()"></td>
           </tr>
           <tr><td colspan="2" align='center'><input type="checkbox" name="keep" value="yes"> 保存用户ID</td></tr>
           <tr><td><input type="reset" value="重新填写"></td>
               <td><input type="submit" value="用户登录"></td>
           </tr>
        </form>
      </table>
      <?php
           if(!empty($_GET['errno'])){
               $errno=$_GET['errno'];
               if($errno==1){
                    echo "<font color='red' size='3'>用户ID不能为空!</font>";
               }else if($errno==2){
                 echo "<font color='red' size='3'>用户密码不能为空!</font>";       
               }else if($errno==3){
                 echo "<font color='red' size='3'>用户名或密码错误!</font>";
               }else if($errno==4){
                    echo "<font color='red' size='3'>无法使用此非法的路径进入该系统!</font>";
               }else if($errno==5){
                 echo "<font color='red' size='3'>验证码输入有误!</font>";
               }
           }
      ?>
    <body>
    <hr/>
    <img src="./images/mylogo.jpg" height="180px" width="260px"/>
    </html>

    2>那么一定是生成验证码的源代码checkCode.php出了问题!

    <?php
       $w = 80; //设置图片宽和高
       $h = 26;
       $str = Array(); //用来存储随机码
       $string = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";//随机挑选其中4个字符,也可以选择更多,注意循环的时候加上,宽度适当调整
       for($i = 0;$i < 4;$i++){
          $str[$i] = $string[rand(0,35)];
          $vcode .= $str[$i];
        }
       session_start(); //启用超全局变量session
       $_SESSION["myCheckCode"] = $vcode;
       $im = imagecreatetruecolor($w,$h);
       $white = imagecolorallocate($im,255,255,255); //第一次调用设置背景色
        $black = imagecolorallocate($im,0,0,0); //边框颜色
        imagefilledrectangle($im,0,0,$w,$h,$white); //画一矩形填充
        imagerectangle($im,0,0,$w-1,$h-1,$black); //画一矩形框
        //生成雪花背景
        for($i = 1;$i < 200;$i++){
            $x = mt_rand(1,$w-9);
            $y = mt_rand(1,$h-9);
            $color = imagecolorallocate($im,mt_rand(200,255),mt_rand(200,255),mt_rand(200,255));
            imagechar($im,1,$x,$y,"*",$color);
        }
        //将验证码写入图案
        for($i = 0;$i < count($str);$i++){
            $x = 13 + $i * ($w - 15)/4;
            $y = mt_rand(3,$h / 3);
            $color = imagecolorallocate($im,mt_rand(0,225),mt_rand(0,150),mt_rand(0,225));
            imagechar($im,5,$x,$y,$str[$i],$color);
        }
        header("Content-type:image/jpeg"); //以jpeg格式输出,注意上面不能输出任何字符,否则出错
        imagejpeg($im);
        imagedestroy($im);
    ?>

    3.解决方式如下:

    在checkCode.php头部增加这一句

       ini_set('display_errors','Off');

    也就是:

    22aade3867b878f1cfd9a76263bf4aa.jpg

    刷新页面以后结果如下:

    41a25a2eb585ed32cedb2ff7aacfb0f.jpg

    那么问题就解决了!

    推荐学习:《PHP视频教程

    以上就是php验证码显示x是什么意思的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

    前端(VUE)零基础到就业课程:点击学习

    清晰的学习路线+老师随时辅导答疑

    自己动手写 PHP MVC 框架:点击学习

    快速了解MVC架构、了解框架底层运行原理

    专题推荐:验证码 php
    上一篇:php传递post参数乱码怎么办 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • ❤️‍🔥共22门课程,总价3725元,会员免费学• ❤️‍🔥接口自动化测试不想写代码?• php验证码后台不能生成怎么办• TP6+vue-element-admin实现后台登录验证码• laravel怎么安装验证码包• 如何解决thinkphp验证码不生效问题• 讲解Laravel8.5是如何添加验证码mews/captcha的• php怎么发送短信验证码
    1/1

    PHP中文网