我已下载新的codeigniter 2.0并将我的控制器,模型和视图文件放在新的codeigniter 2.0安装中.但我得到了这个错误
致命错误:第3行的/Applications/MAMP/htdocs/site/application/controllers/forside.php中找不到"控制器"类
我做错了什么?它适用于旧的codeigniter版本但新版本.. No:S
希望有人可以帮助我
我一直在使用CodeIgniter很长一段时间,但是最近我一直觉得需要转向更先进/更多的OOP框架.Kohana似乎是一个经常被推荐的选项,我的问题是,Kohana与CodeIgniter有何不同?差异列表,特别是语法差异,会很棒.
我最近递交了一个我在CodeIgniter中建立的学校项目.我不得不把它呈现给我的老师,当被问到我是如何处理某些错误时,他告诉我在事件链中提出异常来拦截事情.
我已经学会了如何抛出异常以及如何使用try...catch块来捕获和处理它们但不知何故,当我开始使用CodeIgniter时,我忘记了它们并且不再使用异常了.
相反,我只是"手动"处理我的错误,因为缺少一个更好的词:我使用TRUE和FALSE布尔值来检查,例如,一个查询是否正确执行,我会使用返回的布尔值来处理结果查询.如果TRUE我继续做我的事情,如果FALSE我'手动'抛出错误信息.该项目非常依赖于AJAX,错误消息会以相当奇特的方式弹出,从页面顶部开始下降; 当我抛出异常时,不确定这是否可行throw new Exception?我知道这基本上会阻止代码在抛出异常时执行,所以不会以某种方式破坏事情吗?
我似乎还记得在某个地方读过抛出异常并不是最好的做法,但我找不到这个的来源了,我不太确定是不是这样; ,毕竟,我们确实学会了如何在课堂上使用它们,我喜欢相信我们在那里学习最佳实践,哈哈.
如果有必要,我可以回去尝试找到他指出我应该抛出异常的代码.但是,就目前而言,我只是想知道我是否应该在代码中使用异常或手动处理事务.关于此的最佳做法是什么?
谢谢.
我在一个demo codeigniter项目的控制器上方注意到这一小段代码,并想知道它做了什么以及我是否应该使用它.
defined('BASEPATH') OR exit('No direct script access allowed');
Run Code Online (Sandbox Code Playgroud)
如果我应该在哪里使用它?控制器?楷模?都?等等..
我想使用PDO而不是内置的数据库类.但是我怎么能这样做呢?我试图在博客文章中进行修改.我评论了一部分,system\database\DB.php并补充说:
$DB = new PDO(
$params['dbdriver'].':host='.$params['hostname'].';dbname='.$params['database'],
$params['username'], $params['password']);
return $DB;
Run Code Online (Sandbox Code Playgroud)
但是现在我的PHP代码崩溃,如果我$this->load->database();在控制器中.那么我应该如何在CodeIgniter中使用PDO并使用PDO执行数据库查询?
我也尝试在Controller中使用此代码:
foreach($this->db->query('SELECT * FROM users') as $row) {
print_r($row);
}
Run Code Online (Sandbox Code Playgroud)
但它不起作用.
我有一个控制器,它映射到我的网站的部分,其中的所有页面(方法)应该只在用户登录时出现.否则他们应该被重定向回登录屏幕.
为了让它工作,我刚刚完成了这个:
function index() {
if ($this->session->userdata('logged_in')) {
$this->load->view('main');
} else {
redirect('/login');
}
}
function archive() {
if ($this->session->userdata('logged_in')) {
Run Code Online (Sandbox Code Playgroud)
等等......在每种方法中重复检查.对控制器中的多重或全部方法执行此检查的最简单方法是什么?
如何在提交后清除表单中的信息,以便在页面刷新后不显示此错误?
查看图片(来自chrome):

该对话框包含以下文字:
您要查找的页面使用
了您输入的信息.返回该
页面可能会导致您
重复执行任何操作.你想继续吗?
我希望这个对话框不会出现.
我有一个check_captcha回调函数它认为,如果$row是==0或== 1(此信息是从SQL查询).
问题是我无法调用它,$self->form_validation->set_rule('captcha', 'call_back_check_captcha')因为我的函数接受了$rowvar.我正在调用它的方式现在我得到一个无法访问错误消息.我怎样才能做到这一点?
function check_captcha( $row)
{
if($row ==0)//didnt find any
{
$this->form_validation->set_message('captcha', 'text dont match captcha');
return FALSE;
}
else
{
return TRUE;
}
}
function create_member()
{
$past = time() - 7200;
$this->db->query("DELETE FROM captcha WHERE captcha_time <".$past);
$sql = "SELECT COUNT(*) AS count FROM captcha WHERE word =? AND ip_address =?";
$binds = array($_POST['captcha'], $this->input->ip_address(), $past);
$query= $this->db->query($sql, $binds);
$row = $query->row(); //row query rows : …Run Code Online (Sandbox Code Playgroud) 嗨,我在CodeIgniter中开发了一个站点.
在我的一个页面中,我在搜索表单后使用了CodeIgniter的分页.
在这种情况下,我将传递的搜索值存储到我的会话中,$_POST因为如果我有更多结果,则单击下一页搜索keppe搜索值.
但是,当我更改页面时,我想返回索引,并在返回到我的搜索表单页面后,会话已经创建,并使用会话的值进行查询.当我更改页面时,如何销毁或取消设置会话的价值?这可能吗?
在我的模型函数中,我检查会话值是否与0不同并且存在,如果为true,则使用会话值进行查询.
这是我的控制器(国家是存储到会话中的值)
public function region_list(){
$this->load->model('backend/Nation_model');
$this->load->library("pagination");
if($_POST)
{
if (isset($_POST['ricerca'])){
$nation = $this->input->post('nation');
if(strlen($nation) > 0){
$this->session->set_userdata('nation',$nation);
}
$config = array();
$config["base_url"] = base_url() . "index.php/backend/region/region_list";
$config["total_rows"] = $this->Region_model->countRegionSearch();
$config["per_page"] = 10;
$config["uri_segment"] = 4;
$this->pagination->initialize($config);
$page = ($this->uri->segment(4)) ? $this->uri->segment(4) : 0;
$data["regionlist"] = $this->Region_model->regionSearch($config["per_page"], $page);
$data["links"] = $this->pagination->create_links();
$data["nationlist"] = $this->Nation_model->nationList();
$this->load->view('backend/region_list_view',$data);
}
}
else
{
$config = array();
$config["base_url"] = base_url() . "index.php/backend/region/region_list";
$config["total_rows"] = $this->Region_model->countRegion();
$config["per_page"] = 10;
$config["uri_segment"] …Run Code Online (Sandbox Code Playgroud) 题:
我需要在Facebook共享者URL中传递我的内容,如标题,摘要和图像,如下所示:
<a id="button"
href="http://www.facebook.com/sharer.php?
s=100
&p[url]=http://myurl.com/overview/sap-talent
&p[images][0]=http://myurl/images/my_image.png
&p[title]=mytitle
&p[summary]=containsummary">
Run Code Online (Sandbox Code Playgroud)
问题是它会自动从上面提到的URL(http://myurl.com/overview/sap-talent)获取一些内容,而且我不知道我的标题和摘要数据在哪里消失了.有没有其他方式来分享我的自定义标题,摘要和图像facebooksharer.php?