标签: codeigniter

Codeigniter中的is_home()函数

据我所知,Wordpress具有is_home()确定主页的功能.
在YII我使用这样的解决方案Yii检查是否主页

在CI中,模板实际上,我面对很多次需要它.例如,在标记中添加一些css类<body>.

所有我发现的http://ellislab.com/forums/viewthread/194637/#916899
任何人都可以帮助我或编写自己的解决方案吗?

预先感谢

php codeigniter codeigniter-url

5
推荐指数
2
解决办法
7733
查看次数

如果URL包含GET参数或尾部斜杠,则后退按钮不刷新页面?

我有一个CodeIgniter站点,在登录页面被命中时为用户分配UUID.重新加载登录页面将分配一个新的UUID,但是一旦开始浏览表单,您的UUID将保持不变.然而,当用户点击后退按钮时,我不太了解某些事情,并且根据他们到达的URL,行为会有所不同?

案例1:domain.com/somehash?key=value或domain.com/somehash/

如果您使用包含GET参数的上述网址到达,请提交第一个表单(其中包含您的uuid),然后按后退按钮,您将返回到目标网页,但您的UUID不会更改.

案例2: domain.com/somehash

没有GET参数,如果您提交第一个表单(包含您的uuid)并按后退按钮,您将返回到登录页面并收到一个新的uuid.

我在最新的Chrome和Firefox中对此进行了测试,是否与他们实施的某种缓存策略相关联?理想情况下回击不会刷新页面.

编辑:我应该注意我们不能使用cookie作为这个工具,因此会话已经结束

进一步编辑:只需转到domain.com/,添加反斜杠,即可在按下后退按钮时停止刷新UUID.可能与CodeIgniter routes.php或.htaccess相关?

相关的.htaccess条目:

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?/$1 [L]
Run Code Online (Sandbox Code Playgroud)

routes.php文件:

$route['default_controller'] = "home";
$route['404_override'] = '';

$route['(:any)'] = 'home/index/$1';
Run Code Online (Sandbox Code Playgroud)

php firefox google-chrome codeigniter

5
推荐指数
1
解决办法
673
查看次数

如果不存在,Codeigniter会创建目录

嗨,任何人都可以帮助我.基本上我使用codeigniter的文件上传类链接在 这里 ,它工作正常!但是我需要知道如何在这个默认上传路径中创建目录$config['upload_path'] = './uploads/',文件夹的名称是今天的日期,这是我的示例代码.

date_default_timezone_set('Asia/Manila');
$date = date('Y-m-d H:i:s');

    $config['upload_path'] = './uploads/'.$date;
    $config['allowed_types'] = 'jpg|jpeg|gif|png';
    $config['max_size'] = '100';
    $config['max_width']  = '1024';
    $config['max_height']  = '768';


if (!is_dir('uploads/'.$date)) {
mkdir('./uploads/' . $date, 0777, TRUE);

}
Run Code Online (Sandbox Code Playgroud)

我得到了一个错误

Message: mkdir(): Invalid argument
Run Code Online (Sandbox Code Playgroud)

我搜索它将如何修复,他们说这个0777CI权限会做,但它仍然不适合我.

谢谢你的回复.

php upload codeigniter mkdir

5
推荐指数
2
解决办法
3万
查看次数

将数组对象转换为字符串并分隔值

我有以下结果

Array ( 
      [0] => stdClass Object ( [name] => Identification ) 
      [1] => stdClass Object ( [name] => Assay ) 
      [2] => stdClass Object ( [name] => pH(Acidity/Alkalinity)) 
      [3] => stdClass Object ( [name] => Sterility )
    ) 
Run Code Online (Sandbox Code Playgroud)

我想要的是使用逗号分隔对象数组值并返回为字符串,以便得到此结果:

 Identification, Assay, ph(Acid/Alkalinity), Sterility
Run Code Online (Sandbox Code Playgroud)

我尝试了以下内容

$data=(array)$result;
$answer=implode(",",$data);
Run Code Online (Sandbox Code Playgroud)

这个回报:

Message: Object of class stdClass could not be converted to string
Run Code Online (Sandbox Code Playgroud)

如何才能实现这一目标?

php arrays codeigniter object multidimensional-array

5
推荐指数
1
解决办法
2万
查看次数

Codeigniter在数据库中存储html无法正常工作

我正在使用codeigniter处理CMS.用户应该知道HTML并自己构建页面.现在,我在数据库(mysql数据库)中存储一些标签时遇到问题.

用户可以将图像上传到服务器,然后在代码中使用图像的路径.代码在a中编辑.当我尝试将某个页面的代码更新为:

<img src="assets/fileserver/versje2.jpg"  alt="" />
Run Code Online (Sandbox Code Playgroud)

一切正常.但是当我对它应用内联样式时

<img style="width: 200px;" src="assets/fileserver/versje2.jpg"  alt="" />
Run Code Online (Sandbox Code Playgroud)

它不会起作用.它只是忽略了样式,以下内容存储在数据库中:

  <img src="assets/fileserver/versje2.jpg"  alt="" />
Run Code Online (Sandbox Code Playgroud)

它只是删除了风格.这怎么可能?

我试过了:
-htmlspecialchars
-htmlentities

$config['global_xss_filtering'] = FALSE;
$config['global_xss_filtering'] = TRUE;
Run Code Online (Sandbox Code Playgroud)

有关问题可能是什么的任何建议?

html php mysql codeigniter

5
推荐指数
1
解决办法
2474
查看次数

检查用户是否已登录

检查用户是否已登录的最安全方法是什么?我正在使用php的框架,codeigniter.

$loggedIn = $this->session->userdata('is_logged_in'); // returns 1
if($loggedIn == true): ?>
    // do something
<?php endif; ?>
Run Code Online (Sandbox Code Playgroud)

此代码是在控制器中还是在视图中是否重要?

php security codeigniter

5
推荐指数
1
解决办法
1214
查看次数

codeigniter like子句覆盖where子句

至少这似乎正在发生.我正在尝试为网站创建一个搜索栏,它确实有效,除非它没有读取只会撤回已批准内容的where子句.你可以看出为什么会出现这个问题.

无论如何,这就是我在我的模型中所拥有的

$match = $this->input->post('search');      
$this->db->where('approved', 'y');  
$this->db->like('description', $match);
$this->db->or_like('title', $match);
$this->db->or_like('body', $match);
$this->db->or_like('author', $match);

$query = $this->db->get('story_tbl');

return $query->result();
Run Code Online (Sandbox Code Playgroud)

当我打印出查询时,似乎它看到了where子句,但是当我把这些东西拿回来时,它会拉出未经批准或未经审查的内容.

这是我打印的查询

SELECT * FROM (`story_tbl`) WHERE `approved` = 'y' AND `description` LIKE 
'%another%' OR `title` LIKE '%another%' OR `body` LIKE '%another%' OR 
`author` LIKE '%another%'
Run Code Online (Sandbox Code Playgroud)

sql codeigniter where-clause

5
推荐指数
1
解决办法
5500
查看次数

callback_column不适用于杂货店中的连接表

我正在尝试使用callback_column函数更改列值.

$crud = new grocery_CRUD();
$crud -> set_table('booking');
//$crud->set_relation('room_id','rooms','name');
$crud->callback_column('room_id',array($this,'_visitor_details_popup')); 
Run Code Online (Sandbox Code Playgroud)

此代码运行良好(_visitor_details_popup函数返回值room_id)

$crud = new grocery_CRUD();
$crud -> set_table('booking');
$crud->set_relation('room_id','rooms','name');
$crud->callback_column('room_id',array($this,'_visitor_details_popup'));
Run Code Online (Sandbox Code Playgroud)

这段代码效果不好(room_id不改变)

public function _visitor_details_popup($value, $row)
{

    $visitor_details=explode(',',$value);
    return '<a href="#">Name'.$visitor_details[1].'<a>'.'<div class="popup_content">Address'.$visitor_details[2].'Email'.$visitor_details[3].'</div>;
}
Run Code Online (Sandbox Code Playgroud)

这是杂货店的臭虫?任何棘手的解决方法?

codeigniter grocery-crud

5
推荐指数
1
解决办法
2354
查看次数

可以在CodeIgniter Views上放置条件逻辑吗?

所以我现在处于两难境地.我想在我的网站上实现一个登录按钮,该按钮在没有用户登录时出现.但是,如果某人已经登录,我希望该按钮更改为用户个人资料的链接.

我不知道这样做的正确方法是在视图中放置一个if语句,根据从Controller传递的数据呈现不同的HTML,或者Controller是否需要确定用户是否已登录,并将适当的数据结构传递给View.在CodeIgniter中执行此操作的正确方法是什么?

php templates codeigniter

5
推荐指数
2
解决办法
3204
查看次数

Codeigniter - 使用set_value()填充表单进行编辑(不涉及POST)

我有一个包含表格的视图.带有输入字段和单选按钮.需要使用数据库中的数据填充此表单,以便将其用作数据编辑表单.

我已经使用set_value()函数进行表单验证,其中在发布后从同一个控制器调用视图.但是如何在没有POST的情况下使用set_value函数?即只是在加载的视图中填充表单中的值.比方说,数据库中的数组或对象.

php codeigniter

5
推荐指数
2
解决办法
1万
查看次数