Home >php教程 >php手册 >CodeIgniter2.2.0-在控制器里调用load失败报错的问题,thinkphp调用控制器

CodeIgniter2.2.0-在控制器里调用load失败报错的问题,thinkphp调用控制器

WBOY
WBOYOriginal
2016-06-13 09:25:11920browse

CodeIgniter2.2.0-在控制器里调用load失败报错的问题,thinkphp调用控制器

报错如下:

hello
A PHP Error was encountered

Severity: Notice

Message: Undefined property: Test::$load

Filename: controllers/test.php

Line Number: 9

Fatal error: Call to a member function view() on a non-object in D:\xampp\htdocs\citest\application\controllers\test.php on line 9

 代码如下:

<?php if(!defined('BASEPATH')) exit('No direct script access allowed');
class Test extends CI_Controller{
	public function test()
	{<br />          //此处是引发错误的根源
		echo 'hello';
	}
	public function index()
	{
		$this->load->view('test/index');
	}
	public function about()
	{
		$this->load->view('test/about');
	}
	
	protected function test1()
	{
		echo 'test protected function';
	}
	
	private function hello()
	{
		echo 'hello,ci';
	}
		
	public function test2()
	{
		$this->test1();
		echo '<br/>';
		$this->hello();
	}
}

 看到哪里错了吗?因为我重写了test控制器的构造函数,这和类名一样的public方法和__construct方法是一样的功能的,重写了之后CI_Controller父类里的实例化什么的都没了,必须自己实例化了。

除了把和类同名的方法移除外,还有中方法如下:

	public function test()
	{
		echo 'hello';
		parent::__construct();
		}
	public function index()
	{
		$this->load->view('test/index');
	}

 这样就没问题了。

时隔三年,重新使用codeigniter,忘却了许多事情。。。

安装SQL2000时,出现错误“对于MSSQLServer服务,服务控制器操作失败:1726远程过程调用失败”,怎解决?

MSSQLSERVER服务不能启动故障一例

故障现象
使用SQL Server Service Manager启动MSSQLServer没有反应,启动MSDTC没有问题。使用控制面板中的启动时出现提示“无法启动MSSQLServer服务。错误2140:发生Windows NT 内部错误。”

原因
经过询问操作人员得知,其在Enterprise Manager中,在SERVER的属性中有一个startup parameters中的parameter被删除掉,导致SQL SERVER 不能启动

解决办法
在ms-dos中,进入c:\mssql7\binn,执行

sqlservr -d c:\mssql7\data\master.mdf -e c:\mssql7\log\errorlog -l c:\mssql7\data\mastlog.ldf

大约一分钟后,当提示信息出现Using ’xpstar.dll‘ version ‘1998.11.13’ to execute extended stored procedure ’sp_MSgetversion‘.时,即表示已经正常启动,这时不能关掉该ms-dos窗口,打开Enterprise Manager,打开SERVER属性窗口中的Startup parameters,在Startup Parameters窗口中添加参数:

-dc:\mssql7\data\master.mdf
-ec:\mssql7\log\errorlog
-lc:\mssql7\data\mastlog.ldf

然后关掉MS-DOS窗口,再用SQL Server Service Manager启动服务就行了。

以上是在SQL7上进行修复,对于SQL2000,故障现象和操作方法基本上是一样的,差别就是在MS-DOS方式中的提示信息不太一样,还有就是文件的路径改为c:\program files\microsoft sql server\mssql,其余的就都一样了。
 

php中MVC架构的控制器怎获取底层返回的结果,直接调用报错

呵呵 你的跳转是在 类里面执行的,外面调用方法会在内部跳转。你如果想 自定义的话就改变 类里面的方法 就是 下面这个位置
/**************只能在这里面跳转***************************/
header("Location:../View/admin_home.php"); 这个位置 不用 改为 return true

header("Location:../View/user_login.php?loginProving=passWordError");这个位置 不用 改为 return false;

上面提交的地方 这里
/*************想在这里处理跳转***************************/
$LoginProving -> userNameProving($userName,$passWord); 改为 $result= $LoginProving -> userNameProving($userName,$passWord);
这样就可以判断是否 登录成功 了 if( $result){成功跳转链接 }else{ 错误跳转链接}
 

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn