Heim  >  Artikel  >  Backend-Entwicklung  >  PHP程序安装验证码不显示请问怎么解决?

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

WBOY
WBOYOriginal
2016-06-23 14:40:091737Durchsuche

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

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 头的文件
感谢版主,确实是这个问题。

我可以处理这个问题

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:json乱码问题Nächster Artikel:php只是做网站吗?