首页  >  文章  >  后端开发  >  PHP程序安装验证码不显示请问怎么解决?

PHP程序安装验证码不显示请问怎么解决?

WBOY
WBOY原创
2016-06-23 14:40:091735浏览

别人的网站可以正常显示验证码,我和他是一样的程序,我安装后不显示验证码。

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" />

我找不到调用的文件在哪里,所以没办法贴代码上来

还有点登录按钮,我网站提示的是“object Error” ,别人的网站提示是“验证码不正确”。

我的服务器安装的环境是用XAMPP Control Panel安装的,请问这个问题怎么解决?


回复讨论(解决方案)


这是什么框架写的?只在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);}


这是什么框架写的?只在ie中能看到下方的图片链接

你的程序文件被你修改过了吧?
验证码连接 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 头的文件
感谢版主,确实是这个问题。

我可以处理这个问题

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