1.以下划线为开头的控制器方法不能被浏览器直接访问,但可以被其他方法调用
必须public,不能下划线开头的方法才能被浏览器直接访问,访问时方法名是不区分大小写的
2.变量的共享:
在控制器里:
public function index() { $arr = array( array('id'=>'101','name'=>'jack'), array('id'=>'102','name'=>'bob'), ); $this->load->vars('ar',$arr); $tel = '101012'; $this->load->vars('tele',$tel); $values['title']='much'; $values['title2']='apple'; $this->load->vars($values); $this->load->view('test'); }
<html> <head> <meta http-equiv="Content-Language" content="en" /> <meta name="GENERATOR" content="PHPEclipse 1.0" /> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>title</title> </head> <body bgcolor="#FFFFFF" text="#000000" link="#FF9966" vlink="#FF9966" alink="#FFCC99"> <?php echo $tele; echo $title; echo $title2; ?> <table> <?php foreach($ar as $item)://推荐使用此方法?> <tr> <td><?php echo $item['id'];?></td> <td><?php echo $item['name'];?></td> </tr> <?php endforeach;?> </table> </body> </html>
3.数据库读出数据
<span style="white-space:pre"> </span> $sql = 'select * from designer'; $list = $this->db->query($sql)->result(); $user['user'] = $list; $this->load->view('test',$user);->result 返回数组,每一条是对象
->result_array 返回数组,每一条是数组
->row 返回第一条数据,是对象
4.在默认的情况下,CodeIgniter会显示所有的PHP错误。但是当你开发程序结束时,你可能想要改变这个情况。
你会发现在index.php文件顶端有这个函数error_reporting(),通过它可以进行对错误的设置。 即使你关闭了错误报告,当有错误发生时,错误记录也不会停止。
所以,修改php.ini不能达到我们想要的效果。
下面是解决办法:
Codeigniter中禁止A Database Error Occurred错误提示
在CodeIgniter 用户指南中说到,设置 ENVIRONMENT 常量为 'development' 值将会允许所有PHP错误报告都输出到浏览器。 相反的,设置常量为 'production' 将会禁止所有错误报告的输出。
index.php中修改error_reporting:
define('ENVIRONMENT', 'production'); //默认是development if (defined('ENVIRONMENT')) { switch (ENVIRONMENT) { case 'development': error_reporting(E_ALL); //添加 ^E_NOTICE 可以屏蔽提示 添加^E_WARNING可以屏蔽警告 break; case 'testing': case 'production': error_reporting(0); break; default: exit('The application environment is not set correctly.'); } }
Codeigniter中禁止A PHP Error was encountered错误提示
config/database.php中修改数据库设置:
$db['default']['db_debug'] = FALSE;5.解决
if(is_array($arr)) //add { //用if包围foreach即可 }6.模型加载
<?php class My_model extends CI_Model{ public function getAll(){ $this->load->database(); $sql = "select * from designer"; $res = $this->db->query($sql); return $res->result_array(); } }
public function getAll(){ $this->load->model("My_model"); $result = $this->My_model->getAll(); var_dump($result); }起一个别名
public function getAll(){ $this->load->model("My_model","user"); $result = $this->user->getAll(); var_dump($result); }
public function sub(){ echo $this->input->post('password'); } public function loadview(){ $this->load->helper("url"); $this->load->view("view"); }
<form action="<?php echo site_url("welcome/sub")?>" method="post" enctype="text/plain"> name<input type="text" name="name" value="value" size="40" maxlength="40"/> password<input type="text" name="password" value="value" size="40" maxlength="40"/> email<input type="text" name="email" value="value" size="40" maxlength="40"/> <input type="submit" name="submit" value="value"/> </form>另外base_url为基础目录 即为application文件夹所在的目录。