php 验证码无法正常显示的问题

代码如下:

 <?php
session_start();
header("content-type:image/png");
$image_width=70;
$image_height=18;
srand(microtime()*100000);
for($i=0;$i<4;$i++){
    $new_number=dechex(rand(0,15));
}
$_SESSION[check_checks]=$new_number;
$num_image=imagecreate($image_width,$image_height);
imagecolorallocate($num_image,255,255,255);
for($i=0;$i<strlen($_SESSION[check_checks]);$i++){
    $font=mt_rand(3,5);
    $x=mt_rand(1,8)+$image_width*$i/4;
    $y=mt_rand(1,$image_height/4);
    $color=imagecolorallocate($num_image,mt_rand(0,100),mt_rand(0,150),mt_rand(0,200));
    imagestring($num_image,$font,$x,$y,$_SESSION[check_checks][$i],$color);
}
imagepng($num_image);
imagedestroy($num_image);
?>

gd库已开,utf8无bom编码,就是显示不出来

1个回答

undefined constant check_checks - assumed 'check_checks'
$_SESSION[check_checks]改为$_SESSION['check_checks'];

cn_fyyy
风语长歌 谢谢
4 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
PHP做验证码,验证码不能正常显示?
PHP编程GD库函数处理中绘制验证码时,为什么其PHP程序必须放于整个程序的开头,上面不能再有其他程序,不能有换行,页不能有空格?如果有,则验证码就无法正常显示? 例如:如下代码处于开头位置验证码能正常显示: ![图片说明](https://img-ask.csdn.net/upload/201610/21/1477055013_282520.png) 如下代码不处于开头位置验证码不能正常显示: ![图片说明](https://img-ask.csdn.net/upload/201610/21/1477055056_452581.png)
PHP登陆口随机验证码问题[无法刷新新的验证码]
网站首页登陆口,不管怎么刷新网站,验证码都不改变新的验证码,但是点击验证码的话可以改变新的验证码,例如我使用当前验证码[abf]进行登陆账号,登陆进去后,立马退出账号,同时回到首页登陆口,此时的验证码还是[abf],我要做成刷新网站能及时变更新的验证码,点击也能变更新的验证码,登陆账号进去退出来后就是新的验证码,个人感觉应该是缓存问题导致的! 网站是:php+mvc模式的!谁有空帮我解决的适当给点小费也可以!需要什么我都配合处理
php识别验证码问题?
php怎么自动识别验证码?php怎么自动识别验证码?php怎么自动识别验证码?
织梦登录验证码图片无法显示?
向大神求助: ![图片说明](https://img-ask.csdn.net/upload/201908/01/1564643611_314761.png) 织梦登录,验证码图片无法显示。 去掉data/safe/inc.safe.config.php里的 代码$safe_gdopen = '1,2,3,4,5,6,7'; 中的6 之后。 登录按钮点击之后不跳转。 求大神指导
php 服务器图片验证码不显示
php 服务器图片验证码不显示 ![图片说明](https://img-ask.csdn.net/upload/201710/12/1507793523_967095.png) 1.php.ini文件中,extension=php-gd2.dll 前面的;已经去掉 也可以在phpinfo()里面找到gd ![图片说明](https://img-ask.csdn.net/upload/201710/12/1507794769_447848.png) 2.PHP文件编码已用notepad++编辑成无BOM格式 ![图片说明](https://img-ask.csdn.net/upload/201710/12/1507795166_97862.png) 3.在header前面已添加ob_clean(); ![图片说明](https://img-ask.csdn.net/upload/201710/12/1507795487_137979.png) 试过了上面的了,可是还是没有显示验证码,请问是哪里出现了问题? 应该怎么修改?
php自动识别验证码问题?
用php做的网站想去自动识别一些不是很扭曲的验证码,有没有这方面的库可以用?安卓的库也可以?
php 验证码能显示,但是得不到值,有返回值在,本地都可以验证
php 验证码能显示,但是得不到值,有返回值在,本地都可以验证
asp/php输入手机号然后向该手机号发送验证码之后输入收到的验证码的系统
求asp/php输入手机号然后向该手机号发送验证码之后输入收到的验证码的系统
windows2008+apache2.2+tomcat6的环境下,J2EE网站的验证码无法显示
<div class="iteye-blog-content-contain" style="font-size: 14px;"> <p>[img]http://dl.iteye.com/upload/attachment/0079/6941/f654e27f-5ecd-3885-80d4-025fbadad06e.jpg[/img] [img]http://dl.iteye.com/upload/attachment/0079/6943/2ac39c9e-3ed6-36fa-a025-3ddf7796cd28.jpg[/img] windows2008+apache2.2+tomcat6的环境下,J2EE网站的验证码无法显示。 我是弄服务器的……程序开发人员把网站做好了,他说用什么调用TOMCAT功能发布是可以正常用的(实例URL:http://petstarclub.512kc.com:8888/) 但是我按照网上的一些教程配好了apache+tomcat+php+mysql的环境后,这个网站的大体是可以看到了,就是看不到验证码。 问开发人员,啊说他只知道要apache上让captcha.svl这个东西通过。但是我怎么查都不知道要怎么做。(不可见验证码的URL:http://www.petstarclub.com/) 我已经尝试过把apache上所有的SO都开出来,但是也没用,因为所有都开出来后,APACHE也开不出来了。 请问到底要如何才能让apache发布的页面可以看到这个验证码啊?</p> </div>
为什么验证码只显示干扰线不显示数字
![图片说明](https://img-ask.csdn.net/upload/201912/03/1575339269_53630.png) <?php 、 namespace Think; class Verify { protected $config = array( 'seKey' => 'ThinkPHP.CN', // 验证码加密密钥 'codeSet' => '2345678abcdefhijkmnpqrstuvwxyzABCDEFGHJKLMNPQRTUVWXY', // 验证码字符集合 'expire' => 1800, // 验证码过期时间(s) 'useZh' => false, // 使用中文验证码 'zhSet' => ' * 架构方法 设置参数 * @access public * @param array $config 配置参数 */ public function __construct($config=array()){ $this->config = array_merge($this->config, $config); } /** * 使用 $this->name 获取配置 * @access public * @param string $name 配置名称 * @return multitype 配置值 */ public function __get($name) { return $this->config[$name]; } /** * 设置验证码配置 * @access public * @param string $name 配置名称 * @param string $value 配置值 * @return void */ public function __set($name,$value){ if(isset($this->config[$name])) { $this->config[$name] = $value; } } /** * 检查配置 * @access public * @param string $name 配置名称 * @return bool */ public function __isset($name){ return isset($this->config[$name]); } /** * 验证验证码是否正确 * @access public * @param string $code 用户验证码 * @param string $id 验证码标识 * @return bool 用户验证码是否正确 */ public function check($code, $id = '') { $key = $this->authcode($this->seKey).$id; // 验证码不能为空 $secode = session($key); if(empty($code) || empty($secode)) { return false; } // session 过期 if(NOW_TIME - $secode['verify_time'] > $this->expire) { session($key, null); return false; } if($this->authcode(strtoupper($code)) == $secode['verify_code']) { $this->reset && session($key, null); return true; } return false; } /** * 输出验证码并把验证码的值保存的session中 * 验证码保存到session的格式为: array('verify_code' => '验证码值', 'verify_time' => '验证码创建时间'); * @access public * @param string $id 要生成验证码的标识 * @return void */ public function entry($id = '',$fag=null) { // 图片宽(px) $this->imageW || $this->imageW = $this->length*$this->fontSize*1.5 + $this->length*$this->fontSize/2; // 图片高(px) $this->imageH || $this->imageH = $this->fontSize * 2.5; // 建立一幅 $this->imageW x $this->imageH 的图像 $this->_image = imagecreate($this->imageW, $this->imageH); // 设置背景 imagecolorallocate($this->_image, $this->bg[0], $this->bg[1], $this->bg[2]); // 验证码字体随机颜色 $this->_color = imagecolorallocate($this->_image, mt_rand(1,150), mt_rand(1,150), mt_rand(1,150)); // 验证码使用随机字体 $ttfPath = dirname(__FILE__) . '/Verify/' . ($this->useZh ? 'zhttfs' : 'ttfs') . '/'; if(empty($this->fontttf)){ $dir = dir($ttfPath); $ttfs = array(); while (false !== ($file = $dir->read())) { if($file[0] != '.' && substr($file, -4) == '.ttf') { $ttfs[] = $file; } } $dir->close(); $this->fontttf = $ttfs[array_rand($ttfs)]; } $this->fontttf = $ttfPath . $this->fontttf; if($this->useImgBg) { $this->_background(); } if ($this->useNoise) { // 绘杂点 $this->_writeNoise(); } if ($this->useCurve) { // 绘干扰线 $this->_writeCurve(); } // 绘验证码 $code = array(); // 验证码 $codeNX = 0; // 验证码第N个字符的左边距 if($this->useZh){ // 中文验证码 for ($i = 0; $i<$this->length; $i++) { $code[$i] = iconv_substr($this->zhSet,floor(mt_rand(0,mb_strlen($this->zhSet,'utf-8')-1)),1,'utf-8'); imagettftext($this->_image, $this->fontSize, mt_rand(-40, 40), $this->fontSize*($i+1)*1.5, $this->fontSize + mt_rand(10, 20), $this->_color, $this->fontttf, $code[$i]); } }else{ for ($i = 0; $i<$this->length; $i++) { $code[$i] = $this->codeSet[mt_rand(0, strlen($this->codeSet)-1)]; $codeNX += mt_rand($this->fontSize*1.2, $this->fontSize*1.6); imagettftext($this->_image, $this->fontSize, mt_rand(-40, 40), $codeNX, $this->fontSize*1.6, $this->_color, $this->fontttf, $code[$i]); } } // 保存验证码 $key = $this->authcode($this->seKey); $code2 = $code ; $code = $this->authcode(strtoupper(implode('', $code))); $secode = array(); $secode['verify_code'] = $code; // 把校验码保存到session $secode['verify_time'] = NOW_TIME; // 验证码创建时间 session($key.$id, $secode); header('Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate'); header('Cache-Control: post-check=0, pre-check=0', false); header('Pragma: no-cache'); header("content-type: image/png"); if($fag)return $code2; // 输出图像 imagepng($this->_image); imagedestroy($this->_image); } /** * 画一条由两条连在一起构成的随机正弦函数曲线作干扰线(你可以改成更帅的曲线函数) * * 高中的数学公式咋都忘了涅,写出来 * 正弦型函数解析式:y=Asin(ωx+φ)+b * 各常数值对函数图像的影响: * A:决定峰值(即纵向拉伸压缩的倍数) * b:表示波形在Y轴的位置关系或纵向移动距离(上加下减) * φ:决定波形与X轴位置关系或横向移动距离(左加右减) * ω:决定周期(最小正周期T=2π/∣ω∣) * */ private function _writeCurve() { $px = $py = 0; // 曲线前部分 $A = mt_rand(1, $this->imageH/2); // 振幅 $b = mt_rand(-$this->imageH/4, $this->imageH/4); // Y轴方向偏移量 $f = mt_rand(-$this->imageH/4, $this->imageH/4); // X轴方向偏移量 $T = mt_rand($this->imageH, $this->imageW*2); // 周期 $w = (2* M_PI)/$T; $px1 = 0; // 曲线横坐标起始位置 $px2 = mt_rand($this->imageW/2, $this->imageW * 0.8); // 曲线横坐标结束位置 for ($px=$px1; $px<=$px2; $px = $px + 1) { if ($w!=0) { $py = $A * sin($w*$px + $f)+ $b + $this->imageH/2; // y = Asin(ωx+φ) + b $i = (int) ($this->fontSize/5); while ($i > 0) { imagesetpixel($this->_image, $px + $i , $py + $i, $this->_color); // 这里(while)循环画像素点比imagettftext和imagestring用字体大小一次画出(不用这while循环)性能要好很多 $i--; } } } // 曲线后部分 $A = mt_rand(1, $this->imageH/2); // 振幅 $f = mt_rand(-$this->imageH/4, $this->imageH/4); // X轴方向偏移量 $T = mt_rand($this->imageH, $this->imageW*2); // 周期 $w = (2* M_PI)/$T; $b = $py - $A * sin($w*$px + $f) - $this->imageH/2; $px1 = $px2; $px2 = $this->imageW; for ($px=$px1; $px<=$px2; $px=$px+ 1) { if ($w!=0) { $py = $A * sin($w*$px + $f)+ $b + $this->imageH/2; // y = Asin(ωx+φ) + b $i = (int) ($this->fontSize/5); while ($i > 0) { imagesetpixel($this->_image, $px + $i, $py + $i, $this->_color); $i--; } } } } /** * 画杂点 * 往图片上写不同颜色的字母或数字 */ private function _writeNoise() { $codeSet = '2345678abcdefhijkmnpqrstuvwxyz'; for($i = 0; $i < 10; $i++){ //杂点颜色 $noiseColor = imagecolorallocate($this->_image, mt_rand(150,225), mt_rand(150,225), mt_rand(150,225)); for($j = 0; $j < 5; $j++) { // 绘杂点 imagestring($this->_image, 5, mt_rand(-10, $this->imageW), mt_rand(-10, $this->imageH), $codeSet[mt_rand(0, 29)], $noiseColor); } } } /** * 绘制背景图片 * 注:如果验证码输出图片比较大,将占用比较多的系统资源 */ private function _background() { $path = dirname(__FILE__).'/Verify/bgs/'; $dir = dir($path); $bgs = array(); while (false !== ($file = $dir->read())) { if($file[0] != '.' && substr($file, -4) == '.jpg') { $bgs[] = $path . $file; } } $dir->close(); $gb = $bgs[array_rand($bgs)]; list($width, $height) = @getimagesize($gb); // Resample $bgImage = @imagecreatefromjpeg($gb); @imagecopyresampled($this->_image, $bgImage, 0, 0, 0, 0, $this->imageW, $this->imageH, $width, $height); @imagedestroy($bgImage); } /* 加密验证码 */ private function authcode($str){ $key = substr(md5($this->seKey), 5, 8); $str = substr(md5($str), 8, 10); return md5($key . $str); } } ``` ```
信息查询页面,怎么加入验证码
查询信息用的页面,php写的验证码,现在只能判断验证码是否正确,不能进行下一步操作。比如我输入了要查询的内容,再输入验证码,然后提交就只能判断验证码是否正确,不能查询到信息。要怎么写才能在判断验证码正确后,显示出相关信息呢。现在所有内容都做好了,没有验证码是可以查询的,问题就在验证码这一块儿
【赶集网的发帖页面的验证码如何才能不显示】
如果我用浏览器登陆,用户登陆成功后,赶集网的发帖页面的checkcode怎么控制? http://www.ganji.com/pub/pub.php?act=pub&method=load&cid=6&mcid=14&domain=nb&&deal=1 (发帖界面) 如果我用浏览器登陆,验证码不显示; 但如果我用爬虫把这个页面爬下来,得到的页面有验证码,这个怎么修改呢? 我看了一下页面的html+js代码,发现里面有个全局的js控制checkcode是否显示,但我不知道如何和服务器端交互,希望js高手帮下忙? 可以用firebug+wireshark+chrome+firefox来抓包? 如果解决了,必将重谢!
PHP 刷新验证码在360和谷歌的兼容问题
PHP做的验证码,用js做的刷新验证码功能。该功能在360浏览器不能使用;但是在谷歌浏览器可以用。求大神指教!!!!!
急急急!PHP的GD库实现的验证码,与火狐浏览器的兼容问题,求大神解答!
![图片说明](https://img-ask.csdn.net/upload/201705/15/1494840712_142491.png) 这里的实现就是请求一个生成随机验证码的方法,用GD库输出图片 然后前端的 <img src=""> ,,每刷新一次,属性重新用src请求 生成验证码图片的方法 奇了怪,,我用火狐的元素审查<img>标签,,,看到的居然跟显示的不一样。。。。 这算不算火狐浏览器的一个bug............... 我试过用谷歌是正常的。 求大神解答,谢谢了
PHP登录模块属于会员自己的独立验证码
这个独立验证码为10x10的表格-1表![图片说明](https://img-ask.csdn.net/upload/201702/21/1487692442_907543.jpg) 注册用户要选择其中一个表格中的数字 ,用加法加上自己另外给出的数字,得出的和还需要连接一个符号作为登录页面的个人独立验证码。而且该10x10的表格内部数字是随机给出的。比如我选择表格第1行第9列的数字78 而我的独立验证码需要该格数字加上10作为和,这个和为88,而我的独立验证码还需要加上的符号-,得出我的独立验证码为88-。当登陆时,我的独立验证码的随机表格,比如为2表![图片说明](https://img-ask.csdn.net/upload/201702/22/1487693368_776099.jpg),我选择的数字--同样是第1行第9列,即13,加上我要加上的数字10 和字符-,得出我的个人独立验证码为23-。希望得到实现代码,或者你的提示
PHP验证码图片不显示,弹出来“无法下载来自vercode.php(来自localhost)”
<? session_start(); //随机字符串种子,可以换成字母或其他英文字符 $glbVerifySeed = "123ab4567cde89ABCthixDEFHpKZ"; main(); function main() { session_start(); $verifyCode = getRandomCode(); $_SESSION["verifyCode"] = $verifyCode; $imgWidth = $_REQUEST["width"]; $imgHeight = $_REQUEST["height"]; $imgFont = $_REQUEST["font"]; if($imgWidth == "") $imgWidth = 50; if($imgHeight == "") $imgHeight = 18; if($imgFont == "") $imgFont = 6; doOutputImg($verifyCode, $imgWidth, $imgHeight, $imgFont); } //获取随机数字字符串 function getRandomCode($length=4) { global $glbVerifySeed; $bgnIdx = 0; $endIdx = strlen($glbVerifySeed)-1; $code = ""; for($i=0; $i<$length; $i++) { $curPos = rand($bgnIdx, $endIdx); $code .= substr($glbVerifySeed, $curPos, 1); } return $code; } //输出校验码图像 function doOutputImg($string, $imgWidth, $imgHeight, $imgFont, $imgFgColorArr=array(0,0,0), $imgBgColorArr=array(255,255,255)) { $image = imagecreatetruecolor($imgWidth, $imgHeight); //用白色背景加黑色边框画个方框 $backColor = imagecolorallocate($image, 255, 255, 255); $borderColor = imagecolorallocate($image, 255, 255, 255); imagefilledrectangle($image, 0, 0, $imgWidth - 1, $imgHeight - 1, $backColor); imagerectangle($image, 0, 0, $imgWidth - 1, $imgHeight - 1, $borderColor); $imgFgColor = imagecolorallocate ($image, $imgFgColorArr[0], $imgFgColorArr[1], $imgFgColorArr[2]); doDrawStr($image, $string, $imgFgColor, $imgFont); doPollute($image, 64); header('Content-type: image/png'); imagepng($image); imagedestroy($image); } //画出校验码 function doDrawStr($image, $string, $color, $imgFont) { $imgWidth = imagesx($image); $imgHeight = imagesy($image); $count = strlen($string); $xpace = ($imgWidth/$count); $x = ($xpace-6)/2; $y = ($imgHeight/2-8); for ($p = 0; $p<$count; $p ++) { $xoff = rand(-2, +2); $yoff = rand(-2, +2); $curChar = substr($string, $p, 1); imagestring($image, $imgFont, $x+$xoff, $y+$yoff, $curChar, $color); $x += $xpace; } return 0; } //画出一些杂点 function doPollute($image, $times) { $imgWidth = imagesx($image); $imgHeight = imagesy($image); for($j=0; $j<$times; $j++) { $x = rand(0, $imgWidth); $y = rand(0, $imgHeight); $color = imagecolorallocate($image, rand(0,255), rand(0,255), rand(0,255)); imagesetpixel($image, $x, $y, $color); } } ?> HTML页面,验证码上面直接点刷新 <tr> <td height="29"><input name="auth_num" type="text" class="bor" id="auth_num" size="8" /> <img src="verifyCode.php?width=80&height=20&font=5" onclick="this.src='verifyCode.php'" /></td> </tr>
php+mvc模式的登陆口验证码可以点击刷新,不会自动刷新,求大神解决
1:描述问题:网站首页登陆口不管如何刷新[F5],验证码都不会变。但是点击验证码的话可以变为新的验证码!而且我们使用验证码登陆成功后同时退出来,此时登陆口的验证码还是之前使用过的验证码,没有更新!请大神帮我解决下,贴出正确的代码!因为本人不是很懂,只会照葫芦画瓢!万分感谢!无解决方案的请别回复了谢谢! 文件名:PassportController 代码如下,这个应该是控制器 /* 生成验证码 */ public function verify() { $config = [ 'fontSize' => 19, // 验证码字体大小 'length' => 4, // 验证码位数 'imageH' => 34 ]; $Verify = new Verify($config); $Verify->entry(); } /* 验证码校验 */ public function check_verify($code, $id = '') { $verify = new \Think\Verify(); $res = $verify->check($code, $id); $this->ajaxReturn($res, 'json'); } public function accessRules() { return array( array('allow', // 允许所有用户访问 'login' 动作. 'users'=>array('*'), ), array('allow', // 允许认证用户访问所有动作 'users'=>array('@'), ), array('deny', // 拒绝所有的用户。 'users'=>array('*'), ), ); } /* 异地登录检测 */ public function actionPlaceOtherLogin() { if(isset($_POST['username']) && $_POST['username']!="" && isset($_POST['pwd']) && $_POST['pwd']) { $siteLogin=new SiteLoginForm; $siteLogin->username=$_POST['username']; $siteLogin->password=$_POST['pwd']; $siteLogin->verifyCode=$_POST['verifyCode']; $siteLogin->rememberMe=false; if($siteLogin->validate())//用户名密码正确 { $userinfo=User::model()->findByAttributes(array( 'Username'=>$_POST['username'], 'PassWord'=>md5($_POST['pwd']) )); if($userinfo->Status==0)//用户帐号没有被冻结,处于正常状态 { if($userinfo->PlaceOtherLogin==0)//用户没有开启异地登录,则允许用户直接提交登录 { echo "true"; }else//开启异地登录 { //1.检查此次登录的ip与最近一次登录的ip是否相同 $lastLoginLog=Loginlog::model()->find(array( 'condition'=>'userid='.$userinfo->id, 'order'=>'id desc' )); if($lastLoginLog->loginip===XUtils::getClientIP())//如果本次登录ip与最近一次登录ip相同则允许用户直接提交 { echo "true"; }else//如果不同则返回通知使用短信验证 { echo $userinfo->Phon;//需要手机接手短信验证码,返回手机号码,以便发送短信进行验证 } } }else//帐号被冻结 { echo "LOCK"; } }else { echo "FAIL"; } } } // 登陆口的文件名:index 代码如下 // <link rel="stylesheet" type="text/css" href="<?php echo VERSION2;?>2_files/index.css"> <div class="banNer"><!--首页幻灯--> <ul class="rslides" id="slider"> <li style="background: url(<?php echo VERSION2;?>img/banner/banner_tg.jpg) no-repeat center top;"> <li style="background: url(<?php echo VERSION2;?>img/banner/003.jpg) no-repeat center top;"> </li> </ul> <!--登录区域--> <div class="login_frame_bg" <?php if(Yii::app()->user->getId())echo 'style="display:none;"';?>> <div class="login_frame"> <span class="warningSpan"<?php if(isset($_GET['loginStatus']) && $_GET['loginStatus']=='fail') echo 'style="display:block;"';?>>用户名或密码错误</span> <div id="myForm"> <table> <form method="post" onsubmit="return checkLogin()" action="<?php echo $this->createUrl('passport/login');?>"> <tbody> <tr> <td> <div class="login_mailbox"> <input type="hidden" name="User[position]" value="index" /> <input id="lusername" type="text" name="User[Username]" autocomplete="off" placeholder="用户名"> </div> </td> </tr> <tr> <td> <p class="zq" id="miaoname" style="margin:-15px 0px 10px;"></p> </td> </tr> <tr> <td> <div class="login_ps"> <input id="lpassword" type="password" name="User[PassWord]" name="LoginForm[password]" placeholder="请输入密码"> </div> </td> </tr> <tr> <td> <table> <tr> <td> <input type="text" name="User[VerifyCode]" class="" placeholder="请输入右边验证码" style=" width: 170px; margin-right: 5px; border-radius: 5px; line-height: 35px; border: 1px solid #fff; padding-left: 5px;" id="verifyCode" /> </td> <td> <?php $this->widget( 'CCaptcha', array('showRefreshButton'=>false, 'clickableImage'=>true, 'imageOptions'=>array( 'alt'=>'点击换图', 'title'=>'点击换图', 'style'=>'cursor:pointer; background:#fff; height:27px; border-radius:5px;' ) ) ); ?> </td> </tr> </table> </td> </tr> <tr> <td> <p class="zq" style="height: 10px;"></p> </td> </tr> <tr> <td> <p id="miaopwd" class="zq" style="margin:-15px 0px 10px;"></p> </td> </tr> <tr> <td> <li style=" color:#fff; font-size:12px;"><input name="User[rememberMe]" type="checkbox" style="position: relative; top: 3px; width:12px;" /> 下次自动登录<a href="javascript:;" class="forgetPwd" style=" float:right; margin-right:28px; color:white;">忘记密码?</a></li><br /> </td> </tr> <tr> <td> <button class="login-btn" id="login_btn">登录</button> </td> </tr> <tr> <td> <span><a href="<?php echo $this->createUrl('passport/regist');?>" id="a">还没有账号?点击注册>></a></span> </td> </tr> </tbody> <form> </table> </div> </div> </div> <div class="indIntr" style="background="achose.png" ><!--系统优势--> <div class="why_main4 clearfix"> </div> </div> <script> //登录表单检测 function checkLogin() { if($("#lusername").val()=="") { layer.tips('用户名不能为空', '#lusername'); return false; }else if($("#lpassword").val()=="") { layer.tips('密码不能为空', '#lpassword'); return false; }else if($("#verifyCode").val()=="") { layer.tips('验证码不能为空', '#verifyCode'); return false; }else { var submitStatus=0;//提交状态初始化verifyCode var phone=0;//手机号码初始化 //检查是否开启异地登录 $.ajax({ type:"POST", url:"<?php echo $this->createUrl('passport/placeOtherLogin');?>", data:{ "username":$("#lusername").val(), "pwd":$("#lpassword").val(), "verifyCode":$("#verifyCode").val(), }, async:false, success:function(msg) { if(msg=="true")//不用检测 { submitStatus=1; }else if(msg=="FAIL")//用户名或密码不正确 { } else if(msg=="LOCK")//用户帐户被冻结 { submitStatus=3; }else//需要发送手机验证码 { phone=msg;//赋值用户手机号 submitStatus=2; } } }); /*alert(submitStatus); exit;*/ //检查是否开启异地登录 if(submitStatus==0)//用户名密码不正确 { layer.tips('用户名,密码或验证码不正确', '#lusername', { tips: [1, '#0FA6D8'] //还可配置颜色 }); return false; }else if(submitStatus==3) { //询问框 layer.confirm('<span style="color:red;">您的帐户已被冻结,如有需要请联系客服人员</span>', { btn: ['知道了'] //按钮 }); return false; }else if(submitStatus==1)//直接提交 { return true; }else//2表示需要发送短信验证码 { //发送验证码 $.ajax({ type:"POST", url:"<?php echo $this->createUrl('site/sms');?>", data:{"phone":phone,"phoneCode":"DONE"}, async:false, success:function(msgCode) { if(msgCode=="SUCCESS") { //询问框 layer.confirm('<span style="color:red;">短信发送成功(异地登录请输入手机验证码)</span><br/>验证码<input class="text1 phoneCodeVal" name="phoneCodeVal" />', { btn: ['确定提交'] //按钮 },function(){ if($(".phoneCodeVal").val()=="")//验证码不为空 { layer.tips('验证码不能为空', '.phoneCodeVal'); }else{ //发送手机号与验证码去验证正确性 $.ajax({ type:"POST", url:"<?php echo $this->createUrl('passport/userCheckPhoneAndCode');?>", data:{"phone":phone,"phoneCode":$(".phoneCodeVal").val()}, async:false, success:function(msgCertain) { if(msgCertain=="SUCCESS")//手机验证码检测通过 { //验证通过直接进行提交登录 $.ajax({ type:"POST", url:"<?php echo $this->createUrl('passport/codePassLogin');?>", data:{"username":$("#lusername").val(),"pwd":$("#lpassword").val()}, async:false, success:function(msglogin) { if(msglogin=="SUCCESS")//登录成功刷新当前页面 { location.reload(); //询问框 }else//登录异常刷新当前页面 { layer.confirm('<span style="color:red;">登录异常</span>,您可以联系客服人员', { btn: ['知道了'] //按钮 }); } } }); //验证通过直接进行提交登录 }else if(msgCertain=="CODEFAIL")//验证不正确 { layer.tips('验证码不正确', '.phoneCodeVal'); }else//手机号异常 { layer.tips('手机号码异常', '.phoneCodeVal'); } } }); //发送手机号与验证码去验证正确性 } }); }else { //询问框 layer.confirm('<span style="color:red;">异地登录验证-短信发送失败,可能发送次数过多</span>,您可以联系客服人员', { btn: ['知道了'] //按钮 }); phoneAndCodeCheckStatus=0; } } }); //发送短信验证码结束 return false; } } } //忘记密码 $(".forgetPwd").click(function(){ layer.open({ type: 2, title:'找回密码', area: ['375px','270px'], skin: 'layui-layer-rim', //加上边框 content: ['<?php echo $this->createUrl('passport/forgetPwd');?>', 'no'] }); }); </script> // 能帮我解决问题的才回复,或者还需要我提供什么的请留言,谢谢了,
php微信搜狗采集出验证码问题
如图,做了一个采集微信数据的小练习 ![图片说明](https://img-ask.csdn.net/upload/201610/17/1476711038_540397.jpg) 通过在输入框输入微信ID,循环ID逐个去到搜狗微信搜索页采集数据。但是头疼的是总会隔三差五采集不到数据,跳验证码出来。我用的是curl采集的,麻烦大神们,指点下小弟,逻辑是没问题的,没验证码的时候效果是会出来的。 附上采集成功的数据 ![图片说明](https://img-ask.csdn.net/upload/201610/17/1476711314_635372.jpg)
vscode新建php文件,提示“无法验证,因为未设置任何PHP可执行文件,情使用“php.validate.executablePath”配置PHP可执行文件” 如何解决
![图片说明](https://img-ask.csdn.net/upload/202002/17/1581920242_939868.png) ![图片说明](https://img-ask.csdn.net/upload/202002/17/1581920261_738615.png)![图片说明](https://img-ask.csdn.net/upload/202002/17/1581920270_207438.png) 自己百度相关结果: ![图片说明](https://img-ask.csdn.net/upload/202002/17/1581920366_805738.png) 结果:{ "window.menuBarVisibility": "default" }1.修改了defalut的路径地址,软件重启不行 ``` ``` ``` ``` ## 所以想在线问下路过的亲们遇到这样的问题,应该具体如何解决
终于明白阿里百度这样的大公司,为什么面试经常拿ThreadLocal考验求职者了
点击上面↑「爱开发」关注我们每晚10点,捕获技术思考和创业资源洞察什么是ThreadLocalThreadLocal是一个本地线程副本变量工具类,各个线程都拥有一份线程私有的数
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过...
《奇巧淫技》系列-python!!每天早上八点自动发送天气预报邮件到QQ邮箱
此博客仅为我业余记录文章所用,发布到此,仅供网友阅读参考,如有侵权,请通知我,我会删掉。 补充 有不少读者留言说本文章没有用,因为天气预报直接打开手机就可以收到了,为何要多此一举发送到邮箱呢!!!那我在这里只能说:因为你没用,所以你没用!!! 这里主要介绍的是思路,不是天气预报!不是天气预报!!不是天气预报!!!天气预报只是用于举例。请各位不要再刚了!!! 下面是我会用到的两个场景: 每日下
面试官问我:什么是消息队列?什么场景需要他?用了会出现什么问题?
你知道的越多,你不知道的越多 点赞再看,养成习惯 GitHub上已经开源 https://github.com/JavaFamily 有一线大厂面试点脑图、个人联系方式,欢迎Star和完善 前言 消息队列在互联网技术存储方面使用如此广泛,几乎所有的后端技术面试官都要在消息队列的使用和原理方面对小伙伴们进行360°的刁难。 作为一个在互联网公司面一次拿一次Offer的面霸,打败了无数
8年经验面试官详解 Java 面试秘诀
    作者 | 胡书敏 责编 | 刘静 出品 | CSDN(ID:CSDNnews) 本人目前在一家知名外企担任架构师,而且最近八年来,在多家外企和互联网公司担任Java技术面试官,前后累计面试了有两三百位候选人。在本文里,就将结合本人的面试经验,针对Java初学者、Java初级开发和Java开发,给出若干准备简历和准备面试的建议。   Java程序员准备和投递简历的实
究竟你适不适合买Mac?
我清晰的记得,刚买的macbook pro回到家,开机后第一件事情,就是上了淘宝网,花了500元钱,找了一个上门维修电脑的师傅,上门给我装了一个windows系统。。。。。。 表砍我。。。 当时买mac的初衷,只是想要个固态硬盘的笔记本,用来运行一些复杂的扑克软件。而看了当时所有的SSD笔记本后,最终决定,还是买个好(xiong)看(da)的。 已经有好几个朋友问我mba怎么样了,所以今天尽量客观
程序员一般通过什么途径接私活?
二哥,你好,我想知道一般程序猿都如何接私活,我也想接,能告诉我一些方法吗? 上面是一个读者“烦不烦”问我的一个问题。其实不止是“烦不烦”,还有很多读者问过我类似这样的问题。 我接的私活不算多,挣到的钱也没有多少,加起来不到 20W。说实话,这个数目说出来我是有点心虚的,毕竟太少了,大家轻喷。但我想,恰好配得上“一般程序员”这个称号啊。毕竟苍蝇再小也是肉,我也算是有经验的人了。 唾弃接私活、做外
大学四年自学走来,这些珍藏的「实用工具/学习网站」我全贡献出来了
知乎高赞:文中列举了互联网一线大厂程序员都在用的工具集合,涉及面非常广,小白和老手都可以进来看看,或许有新收获。
《阿里巴巴开发手册》读书笔记-编程规约
Java编程规约命名风格 命名风格 类名使用UpperCamelCase风格 方法名,参数名,成员变量,局部变量都统一使用lowerCamelcase风格 常量命名全部大写,单词间用下划线隔开, 力求语义表达完整清楚,不要嫌名字长 ...
Python爬虫爬取淘宝,京东商品信息
小编是一个理科生,不善长说一些废话。简单介绍下原理然后直接上代码。 使用的工具(Python+pycharm2019.3+selenium+xpath+chromedriver)其中要使用pycharm也可以私聊我selenium是一个框架可以通过pip下载 pip install selenium -i https://pypi.tuna.tsinghua.edu.cn/simple/ 
阿里程序员写了一个新手都写不出的低级bug,被骂惨了。
你知道的越多,你不知道的越多 点赞再看,养成习惯 本文 GitHub https://github.com/JavaFamily 已收录,有一线大厂面试点思维导图,也整理了很多我的文档,欢迎Star和完善,大家面试可以参照考点复习,希望我们一起有点东西。 前前言 为啥今天有个前前言呢? 因为你们的丙丙啊,昨天有牌面了哟,直接被微信官方推荐,知乎推荐,也就仅仅是还行吧(心里乐开花)
Java工作4年来应聘要16K最后没要,细节如下。。。
前奏: 今天2B哥和大家分享一位前几天面试的一位应聘者,工作4年26岁,统招本科。 以下就是他的简历和面试情况。 基本情况: 专业技能: 1、&nbsp;熟悉Sping了解SpringMVC、SpringBoot、Mybatis等框架、了解SpringCloud微服务 2、&nbsp;熟悉常用项目管理工具:SVN、GIT、MAVEN、Jenkins 3、&nbsp;熟悉Nginx、tomca
Python爬虫精简步骤1 获取数据
爬虫的工作分为四步: 1.获取数据。爬虫程序会根据我们提供的网址,向服务器发起请求,然后返回数据。 2.解析数据。爬虫程序会把服务器返回的数据解析成我们能读懂的格式。 3.提取数据。爬虫程序再从中提取出我们需要的数据。 4.储存数据。爬虫程序把这些有用的数据保存起来,便于你日后的使用和分析。 这一篇的内容就是:获取数据。 首先,我们将会利用一个强大的库——requests来获取数据。 在电脑上安装
Python绘图,圣诞树,花,爱心 | Turtle篇
1.画圣诞树 import turtle screen = turtle.Screen() screen.setup(800,600) circle = turtle.Turtle() circle.shape('circle') circle.color('red') circle.speed('fastest') circle.up() square = turtle.Turtle()
作为一个程序员,CPU的这些硬核知识你必须会!
CPU对每个程序员来说,是个既熟悉又陌生的东西? 如果你只知道CPU是中央处理器的话,那可能对你并没有什么用,那么作为程序员的我们,必须要搞懂的就是CPU这家伙是如何运行的,尤其要搞懂它里面的寄存器是怎么一回事,因为这将让你从底层明白程序的运行机制。 随我一起,来好好认识下CPU这货吧 把CPU掰开来看 对于CPU来说,我们首先就要搞明白它是怎么回事,也就是它的内部构造,当然,CPU那么牛的一个东
破14亿,Python分析我国存在哪些人口危机!
2020年1月17日,国家统计局发布了2019年国民经济报告,报告中指出我国人口突破14亿。 猪哥的朋友圈被14亿人口刷屏,但是很多人并没有看到我国复杂的人口问题:老龄化、男女比例失衡、生育率下降、人口红利下降等。 今天我们就来分析一下我们国家的人口数据吧! 更多有趣分析教程,扫描下方二维码关注vx公号「裸睡的猪」 即可查看! 一、背景 1.人口突破14亿 2020年1月17日,国家统计局发布
听说想当黑客的都玩过这个Monyer游戏(1~14攻略)
第零关 进入传送门开始第0关(游戏链接) 请点击链接进入第1关: 连接在左边→ ←连接在右边 看不到啊。。。。(只能看到一堆大佬做完的留名,也能看到菜鸡的我,在后面~~) 直接fn+f12吧 &lt;span&gt;连接在左边→&lt;/span&gt; &lt;a href="first.php"&gt;&lt;/a&gt; &lt;span&gt;←连接在右边&lt;/span&gt; o
在家远程办公效率低?那你一定要收好这个「在家办公」神器!
相信大家都已经收到国务院延长春节假期的消息,接下来,在家远程办公可能将会持续一段时间。 但是问题来了。远程办公不是人在电脑前就当坐班了,相反,对于沟通效率,文件协作,以及信息安全都有着极高的要求。有着非常多的挑战,比如: 1在异地互相不见面的会议上,如何提高沟通效率? 2文件之间的来往反馈如何做到及时性?如何保证信息安全? 3如何规划安排每天工作,以及如何进行成果验收? ......
作为一个程序员,内存和磁盘的这些事情,你不得不知道啊!!!
截止目前,我已经分享了如下几篇文章: 一个程序在计算机中是如何运行的?超级干货!!! 作为一个程序员,CPU的这些硬核知识你必须会! 作为一个程序员,内存的这些硬核知识你必须懂! 这些知识可以说是我们之前都不太重视的基础知识,可能大家在上大学的时候都学习过了,但是嘞,当时由于老师讲解的没那么有趣,又加上这些知识本身就比较枯燥,所以嘞,大家当初几乎等于没学。 再说啦,学习这些,也看不出来有什么用啊!
别低估自己的直觉,也别高估自己的智商
所有群全部吵翻天,朋友圈全部沦陷,公众号疯狂转发。这两周没怎么发原创,只发新闻,可能有人注意到了。我不是懒,是文章写了却没发,因为大家的关注力始终在这次的疫情上面,发了也没人看。当然,我...
这个世界上人真的分三六九等,你信吗?
偶然间,在知乎上看到一个问题 一时间,勾起了我深深的回忆。 以前在厂里打过两次工,做过家教,干过辅导班,做过中介。零下几度的晚上,贴过广告,满脸、满手地长冻疮。   再回首那段岁月,虽然苦,但让我学会了坚持和忍耐。让我明白了,在这个世界上,无论环境多么的恶劣,只要心存希望,星星之火,亦可燎原。   下文是原回答,希望能对你能有所启发。   如果我说,这个世界上人真的分三六九等,
为什么听过很多道理,依然过不好这一生?
记录学习笔记是一个重要的习惯,不希望学习过的东西成为过眼云烟。做总结的同时也是一次复盘思考的过程。 本文是根据阅读得到 App上《万维钢·精英日课》部分文章后所做的一点笔记和思考。学习是一个系统的过程,思维模型的建立需要相对完整的学习和思考过程。以下观点是在碎片化阅读后总结的一点心得总结。
B 站上有哪些很好的学习资源?
哇说起B站,在小九眼里就是宝藏般的存在,放年假宅在家时一天刷6、7个小时不在话下,更别提今年的跨年晚会,我简直是跪着看完的!! 最早大家聚在在B站是为了追番,再后来我在上面刷欧美新歌和漂亮小姐姐的舞蹈视频,最近两年我和周围的朋友们已经把B站当作学习教室了,而且学习成本还免费,真是个励志的好平台ヽ(.◕ฺˇд ˇ◕ฺ;)ノ 下面我们就来盘点一下B站上优质的学习资源: 综合类 Oeasy: 综合
如何优雅地打印一个Java对象?
你好呀,我是沉默王二,一个和黄家驹一样身高,和刘德华一样颜值的程序员。虽然已经写了十多年的 Java 代码,但仍然觉得自己是个菜鸟(请允许我惭愧一下)。 在一个月黑风高的夜晚,我思前想后,觉得再也不能这么蹉跎下去了。于是痛下决心,准备通过输出的方式倒逼输入,以此来修炼自己的内功,从而进阶成为一名真正意义上的大神。与此同时,希望这些文章能够帮助到更多的读者,让大家在学习的路上不再寂寞、空虚和冷。 ...
雷火神山直播超两亿,Web播放器事件监听是怎么实现的?
Web播放器解决了在手机浏览器和PC浏览器上播放音视频数据的问题,让视音频内容可以不依赖用户安装App,就能进行播放以及在社交平台进行传播。在视频业务大数据平台中,播放数据的统计分析非常重要,所以Web播放器在使用过程中,需要对其内部的数据进行收集并上报至服务端,此时,就需要对发生在其内部的一些播放行为进行事件监听。 那么Web播放器事件监听是怎么实现的呢? 01 监听事件明细表 名
3万字总结,Mysql优化之精髓
本文知识点较多,篇幅较长,请耐心学习 MySQL已经成为时下关系型数据库产品的中坚力量,备受互联网大厂的青睐,出门面试想进BAT,想拿高工资,不会点MySQL优化知识,拿offer的成功率会大大下降。 为什么要优化 系统的吞吐量瓶颈往往出现在数据库的访问速度上 随着应用程序的运行,数据库的中的数据会越来越多,处理时间会相应变慢 数据是存放在磁盘上的,读写速度无法和内存相比 如何优化 设计
Linux 命令(122)—— watch 命令
1.命令简介 2.命令格式 3.选项说明 4.常用示例 参考文献 [1] watch(1) manual
Linux 命令(121)—— cal 命令
1.命令简介 2.命令格式 3.选项说明 4.常用示例 参考文献 [1] cal(1) manual
记jsp+servlet+jdbc实现的新闻管理系统
1.工具:eclipse+SQLyog 2.介绍:实现的内容就是显示新闻的基本信息,然后一个增删改查的操作。 3.数据库表设计 列名 中文名称 数据类型 长度 非空 newsId 文章ID int 11 √ newsTitle 文章标题 varchar 20 √ newsContent 文章内容 text newsStatus 是否审核 varchar 10 news...
Python新型冠状病毒疫情数据自动爬取+统计+发送报告+数据屏幕(三)发送篇
今天介绍的项目是使用 Itchat 发送统计报告 项目功能设计: 定时爬取疫情数据存入Mysql 进行数据分析制作疫情报告 使用itchat给亲人朋友发送分析报告(本文) 基于Django做数据屏幕 使用Tableau做数据分析 来看看最终效果 目前已经完成,预计2月12日前更新 使用 itchat 发送数据统计报告 itchat 是一个基于 web微信的一个框架,但微信官方并不允
相关热词 c# 压缩图片好麻烦 c#计算数组中的平均值 c#获取路由参数 c#日期精确到分钟 c#自定义异常必须继承 c#查表并返回值 c# 动态 表达式树 c# 监控方法耗时 c# listbox c#chart显示滚动条
立即提问