别人的网站可以正常显示验证码,我和他是一样的程序,我安装后不显示验证码。
http://175.41.22.58:7866/ 这是我的网站
http://www.83990022.com/ 这是别人的网站
既然是一样的程序,我估计可能不是程序的问题,不过我对PHP一点都不懂,我听他说这个程序“需要启用mysql event” ,我搞不懂“需要启用mysql event”是什么意思,也不知道是不是这个原因?
下面是验证码调用的代码:
<img style="max-width:90%" style="max-width:90%" border="0" style="margin:0;" align="absmiddle" src="/index.php/user/vcode/<?=$this- alt="PHP程序安装验证码不显示请问怎么解决?" >time?>" title="看不清楚,换一张图片" onclick="this.src='/index.php/user/vcode/'+(new Date()).getTime()"/></span><input class="inp-2 img-login" name="vcode" />
这是什么框架写的?只在ie中能看到下方的图片链接
会不会是相关的函数没开启
感谢版主和hu5487的回答,我也看不出来是什么框架。下面是程序目录载图:
index.php 主页代码如下:
<?phprequire 'lib/core/DBAccess.class';require 'lib/core/Object.class';require 'action/default/WebBase.class.php';require 'action/default/WebLoginBase.class.php';require 'config.php';//print_r($_SERVER);exit;$para=array();if(isset($_SERVER['PATH_INFO'])){ $para=explode('/', substr($_SERVER['PATH_INFO'],1)); if($control=array_shift($para)){ if(count($para)){ $action=array_shift($para); }else{ $action=$control; $control='index'; } }else{ $control='index'; $action='main'; }}else{ $control='index'; $action='main';}$control=ucfirst($control);if(strpos($action,'-')!==false){ list($action, $page)=explode('-',$action);}$file=$conf['action']['modals'].$control.'.class.php';if(!is_file($file)) notfound('找不到控制器');try{ require $file;}catch(Exception $e){ print_r($e); exit;}if(!class_exists($control)) notfound('找不到控制器1');$jms=new $control($conf['db']['dsn'], $conf['db']['user'], $conf['db']['password']);$jms->debugLevel=$conf['debug']['level'];if(!method_exists($jms, $action)) notfound('方法不存在');$reflection=new ReflectionMethod($jms, $action);if($reflection->isStatic()) notfound('不允许调用Static修饰的方法');if(!$reflection->isFinal()) notfound('只能调用final修饰的方法');$jms->controller=$control;$jms->action=$action;$jms->charset=$conf['db']['charset'];$jms->cacheDir=$conf['cache']['dir'];$jms->setCacheDir($conf['cache']['dir']);$jms->actionTemplate=$conf['action']['template'];$jms->prename=$conf['db']['prename'];$jms->title=$conf['web']['title'];if(method_exists($jms, 'getSystemSettings')) $jms->getSystemSettings();if($jms->settings['switchWeb']=='0'){ $jms->display('close-service.php'); exit;}if(isset($page)) $jms->page=$page;if($q=$_SERVER['QUERY_STRING']){ $para=array_merge($para, explode('/', $q));}if($para==null) $para=array();$jms->headers=getallheaders();if(isset($jms->headers['x-call'])){ // 函数调用 header('content-Type: application/json'); try{ ob_start(); echo json_encode($reflection->invokeArgs($jms, $_POST)); ob_flush(); }catch(Exception $e){ $jms->error($e->getMessage(), true); }}elseif(isset($jms->headers['x-form-call'])){ // 表单调用 $accept=strpos($jms->headers['Accept'], 'application/json')===0; if($accept) header('content-Type: application/json'); try{ ob_start(); if($accept){ echo json_encode($reflection->invokeArgs($jms, $_POST)); }else{ json_encode($reflection->invokeArgs($jms, $_POST)); } ob_flush(); }catch(Exception $e){ $jms->error($e->getMessage(), true); }}elseif(strpos($jms->headers['Accept'], 'application/json')===0){ // AJAX调用 header('content-Type: application/json'); try{ //echo json_encode($reflection->invokeArgs($jms, $para)); echo json_encode(call_user_func_array(array($jms, $action), $para)); }catch(Exception $e){ $jms->error($e->getmessage()); }}else{ // 普通请求 header('content-Type: text/html;charset=utf-8'); //$reflection->invokeArgs($jms, $para); call_user_func_array(array($jms, $action), $para);}$jms=null;function notfound($message){ header('content-Type: text/plain; charset=utf8'); header('HTTP/1.1 404 Not Found'); die($message);}
你的程序文件被你修改过了吧?
验证码连接 http://175.41.22.58:7866/index.php/user/vcode 中
包含有 3 个 BOM 头,致使图片数据被破坏了
请将被你修改过的程序重新保存成无 BOM 头的文件
你的程序文件被你修改过了吧?
验证码连接 http://175.41.22.58:7866/index.php/user/vcode 中
包含有 3 个 BOM 头,致使图片数据被破坏了
请将被你修改过的程序重新保存成无 BOM 头的文件
感谢版主,确实是这个问题。
我可以处理这个问题