据我所知,Wordpress具有is_home()确定主页的功能.
在YII我使用这样的解决方案Yii检查是否主页
在CI中,模板实际上,我面对很多次需要它.例如,在标记中添加一些css类<body>.
所有我发现的http://ellislab.com/forums/viewthread/194637/#916899
任何人都可以帮助我或编写自己的解决方案吗?
预先感谢
我有一个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) 嗨,任何人都可以帮助我.基本上我使用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权限会做,但它仍然不适合我.
谢谢你的回复.
我有以下结果
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)
如何才能实现这一目标?
我正在使用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)
有关问题可能是什么的任何建议?
检查用户是否已登录的最安全方法是什么?我正在使用php的框架,codeigniter.
$loggedIn = $this->session->userdata('is_logged_in'); // returns 1
if($loggedIn == true): ?>
// do something
<?php endif; ?>
Run Code Online (Sandbox Code Playgroud)
此代码是在控制器中还是在视图中是否重要?
至少这似乎正在发生.我正在尝试为网站创建一个搜索栏,它确实有效,除非它没有读取只会撤回已批准内容的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) 我正在尝试使用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)
这是杂货店的臭虫?任何棘手的解决方法?
所以我现在处于两难境地.我想在我的网站上实现一个登录按钮,该按钮在没有用户登录时出现.但是,如果某人已经登录,我希望该按钮更改为用户个人资料的链接.
我不知道这样做的正确方法是在视图中放置一个if语句,根据从Controller传递的数据呈现不同的HTML,或者Controller是否需要确定用户是否已登录,并将适当的数据结构传递给View.在CodeIgniter中执行此操作的正确方法是什么?
我有一个包含表格的视图.带有输入字段和单选按钮.需要使用数据库中的数据填充此表单,以便将其用作数据编辑表单.
我已经使用set_value()函数进行表单验证,其中在发布后从同一个控制器调用视图.但是如何在没有POST的情况下使用set_value函数?即只是在加载的视图中填充表单中的值.比方说,数据库中的数组或对象.
codeigniter ×10
php ×8
arrays ×1
firefox ×1
grocery-crud ×1
html ×1
mkdir ×1
mysql ×1
object ×1
security ×1
sql ×1
templates ×1
upload ×1
where-clause ×1