2013-05-07 48 views
0

我想重定向到一个使用外部js文件的控制器,以便我的url地址栏看起来像[这不是链接](http:/project/index.php/TravellerController/create/1 ) 我在JavaScript代码如下所示:php codeigniter uri

u55.style.cursor = 'pointer'; 
$axure.eventManager.click('u55', function(e) { 

if (true) { 
self.location.href=$axure.globalVariableProvider.getLinkUrl('TravellerController'); 

} 
}); 

的U55是我的“家”的意见链路标识符文件 我TravellerController看起来是这样的:

<?php 
class TravellerController extends CI_Controller { 
public function index()           
{ 
$data=$this->get_data(); 
} 
function get_data(){ 
*some code...* 
redirect('TravellerController/create/'.$data); 
{ 
function create(){ 
*some code...* 
} 
} 
?> 

所以,如果我点击该链接我的网址地址字段,然后看起来像这样:

[这不是一个链接](HTTP:/project/index.php/home/create/TravellerController)

但我想它看起来像这样:

[这不是一个链接](http:/project/index.php/TravellerController/create/1)

+0

换句话说,即使在不同的用户登录时,它也只能得到相同的一行数据 – 2013-05-07 13:15:21

回答

0

从我的角度来看,您没有从基于用户标识的数据库获取登录用户。当用户登录时,您将值存储在会话中,这很好,但您需要在数据库中找到登录的用户。

添加新的功能,你的模型:

function getUser($userid) { 
    $this->db->select('*'); 
    $this->db->from('profile'); 
    $this->db->where('id', $userid); 
    $query = $this->db->get()->result(); 
    return $query; 
} 

而在你的控制人变更情况:

$data['info'] = $this->profileModel->get_all_info(); 

$data['info'] = $this->profileModel->getUser($session_data['id']); 

我不能完全肯定你2个表,所以上面的代码基本上是一个例子。如果您的用户名在表中是唯一的,您也可以使用它从数据库中获取正确的用户。

我希望这会有所帮助。

+0

好的,我确实做到了,但我在浏览器中得到了这个错误 – 2013-05-07 13:56:07

+0

你可以在你的控制器中做一个var_dump,有用户?的var_dump($数据[ '信息']); – Bananam00n 2013-05-07 14:00:24

+0

确定我确实做到了,但我得到了我的浏览器“ 一个PHP错误遇到 严重性这个错误:警告 消息:的foreach提供了无效的参数() 文件名:查看/ profile.php 行号:51“ 和这行第51行包含此代码”<?php foreach($ info as $ u_key){?>“我已将此代码放入我的视图中,以便它会填充即从db读取并显示用户配置文件信息例如他的头衔和国家。在$ info数组中传递的数据来自“function update_info($ data,$ id)”,就像在我的模型中一样,并且在控制器中我使用$ data ['info'] = $ this-> profileModel-> get_all_info(); – 2013-05-07 14:02:37