我正在使用codeigniter构建一个应用程序,此应用程序有一个配置文件页面,其中显示的所有信息取决于当前登录的用户。在配置文件页面上,我试图设置一个生物盒,以便每个用户都可以编写自己独特的简历,这将存储在数据库中。我当前编写的代码正在页面上显示结果,但是它不是我想要的正确结果。我编写的与该问题有关的代码如下。
在模型中:
public function get_profile_information() {
$query = $this->db->query("SELECT profileText from users WHERE
idNumber = ?", $this->session->userdata('username'));
return $query->result_array();
}
在控制器中:
public function loginprocess() {
$username = $this->input->post('idNumber');
$password = $this->input->post('passWd');
$query = $this->db->query("select * from users where idNumber='".$username."' and passWd='$password'");
$row = $query->num_rows();
if ($row) {
$this->session->set_userdata(array('username' => $username));
$sessionID = $this->session->userdata('username');
$data['title'] = 'Profile';
$data['profiletext'] = $this->news_model >get_profile_information();
$data['sessionID'] = $this->session->userdata('username');
$this->load->view('templates/header', $data);
$this->load->view('news/profile', $data);
$this->load->view('templates/footer');
} else {
$data['error'] = 'Invalid Login Details';
$data['title'] = 'Login';
$this->load->view('templates/header', $data);
$this->load->view('news/login', $data);
$this->load->view('templates/footer');
}
}
在视图中:
<head>
<style type="text/css">
</style>
</head>
Welcome to the <?php echo $title; ?> page, <?php echo $sessionID; ?>
<?php var_dump($profiletext); ?>
<?php echo anchor('login/logout', 'logout'); ?>
在网页上,基于登录用户从数据库获取配置文件文本的查询给出了此结果
array(1) { [0]=> array(1) { ["profileText"]=> string(17) "Test Profile Text" } }
我只是希望显示“测试配置文件文本”。我一直无法解决问题所在,我对Codeigniter和php还是很陌生,所以我不具备解决此问题的知识。
答案 0 :(得分:1)
控制器:
在下面的行中进行少量更改
//$data['profiletext'] = $this->news_model >get_profile_information();//old line
$data['profiletext'] = $this->news_model->get_profile_information();//changes
型号:
仅获取“测试配置文件文本”,而视图中没有任何更改
public function get_profile_information() {
$query = $this->db->query("SELECT profileText from users WHERE idNumber = ".$this->session->userdata('username'));
return $query->row('profileText');//changes
}
答案 1 :(得分:0)
您应该使用echo
而不是var_dump()
说明:
var_dump(混合$ expression [,混合$ ...]):void此函数 显示有关一个或多个表达式的结构化信息 包括其类型和价值。探索数组和对象 递归地将值缩进以显示结构。
对象的所有公共,私有和受保护属性都是 在输出中返回,除非该对象实现__debugInfo() 方法(在PHP 5.6.0中实现)。
替换
<?php var_dump($profiletext); ?>
通过
<?php echo $profiletext[0]['profileText]; ?>
echo
根据我们站点的要求直接打印变量。