Php 不通过调用方法加载视图
我制作了一个用户表,当他提交帖子时,该表将链接到他的帖子。(部件工作正常) 所以我一直在尝试在codeigniter 3中创建一个方法。我将它设置为如果用户登录并单击他的用户名,它将显示所有提交的内容,只需从表中提取他的用户名,然后循环浏览他的帖子 嗯,我有两个问题Php 不通过调用方法加载视图,php,codeigniter,Php,Codeigniter,我制作了一个用户表,当他提交帖子时,该表将链接到他的帖子。(部件工作正常) 所以我一直在尝试在codeigniter 3中创建一个方法。我将它设置为如果用户登录并单击他的用户名,它将显示所有提交的内容,只需从表中提取他的用户名,然后循环浏览他的帖子 嗯,我有两个问题 当我输入url来调用这个函数时,它需要一个uri值。示例:localhost/CI/controller/account,但在我将某些内容放在account之后(account是方法名)它才会加载 像localhost/CI/co
当我输入url来调用这个函数时,它需要一个uri值。示例:localhost/CI/controller/account,但在我将某些内容放在account之后(account是方法名)它才会加载 像localhost/CI/controller/account/9 此外,由于某种原因,这个函数似乎也不起作用,我不知道它是否与想要另一个值有关 在过去的一个小时里,我一直在研究这个问题,但运气不好 控制器:
public function account(){
$data['title'] = 'Your submissions';
$data['posts'] = $this->post_model->user_posts();
$this->load->view('templates/header');
$this->load->view('users/profile', $data);
$this->load->view('templates/footer');
}
//view function the post by clicking on title
public function view ($slug=NULL){
$data['post'] = $this->post_model->get_posts($slug);
$post_id = $data['post']['id'];
$data['comments'] = $this->comment_model->get_comments($slug);
if(empty($data['post'])){
show_404();
}
$data['title'] = $data['post']['title'];
$this->load->view('templates/header');
$this->load->view('posts/view', $data);
$this->load->view('templates/footer');
}
public function user_posts (){
$usernum = $this->session->userdata('customer_id');
$this->db->order_by('created_time','DESC');
$query = $this->db->get_where('posts',array('customer_id ='=>'$usernum'));
return $query->result_array();
}
$query = $this->db->get_where('posts',array('slug'=>$slug));
return $query->row_array();
}
<?php
echo $title;
foreach ($posts as $post): {
echo $post['title'];
}endforeach;
?>
public function account($acno = "") {//changes
$data['title'] = 'Your submissions';
$data['posts'] = $this->Post_model->user_posts();//changes
echo'<pre>';print_r($data);die;//changes
$this->load->view('templates/header');
$this->load->view('users/profile', $data);
$this->load->view('templates/footer');
}
public function user_posts (){
$usernum = $this->session->userdata('customer_id');
$this->db->order_by('created_time','DESC');
$query = $this->db->get_where('posts', array('customer_id' => $usernum));
return $query->result_array();
}
型号:
public function account(){
$data['title'] = 'Your submissions';
$data['posts'] = $this->post_model->user_posts();
$this->load->view('templates/header');
$this->load->view('users/profile', $data);
$this->load->view('templates/footer');
}
//view function the post by clicking on title
public function view ($slug=NULL){
$data['post'] = $this->post_model->get_posts($slug);
$post_id = $data['post']['id'];
$data['comments'] = $this->comment_model->get_comments($slug);
if(empty($data['post'])){
show_404();
}
$data['title'] = $data['post']['title'];
$this->load->view('templates/header');
$this->load->view('posts/view', $data);
$this->load->view('templates/footer');
}
public function user_posts (){
$usernum = $this->session->userdata('customer_id');
$this->db->order_by('created_time','DESC');
$query = $this->db->get_where('posts',array('customer_id ='=>'$usernum'));
return $query->result_array();
}
$query = $this->db->get_where('posts',array('slug'=>$slug));
return $query->row_array();
}
<?php
echo $title;
foreach ($posts as $post): {
echo $post['title'];
}endforeach;
?>
public function account($acno = "") {//changes
$data['title'] = 'Your submissions';
$data['posts'] = $this->Post_model->user_posts();//changes
echo'<pre>';print_r($data);die;//changes
$this->load->view('templates/header');
$this->load->view('users/profile', $data);
$this->load->view('templates/footer');
}
public function user_posts (){
$usernum = $this->session->userdata('customer_id');
$this->db->order_by('created_time','DESC');
$query = $this->db->get_where('posts', array('customer_id' => $usernum));
return $query->result_array();
}
查看:
public function account(){
$data['title'] = 'Your submissions';
$data['posts'] = $this->post_model->user_posts();
$this->load->view('templates/header');
$this->load->view('users/profile', $data);
$this->load->view('templates/footer');
}
//view function the post by clicking on title
public function view ($slug=NULL){
$data['post'] = $this->post_model->get_posts($slug);
$post_id = $data['post']['id'];
$data['comments'] = $this->comment_model->get_comments($slug);
if(empty($data['post'])){
show_404();
}
$data['title'] = $data['post']['title'];
$this->load->view('templates/header');
$this->load->view('posts/view', $data);
$this->load->view('templates/footer');
}
public function user_posts (){
$usernum = $this->session->userdata('customer_id');
$this->db->order_by('created_time','DESC');
$query = $this->db->get_where('posts',array('customer_id ='=>'$usernum'));
return $query->result_array();
}
$query = $this->db->get_where('posts',array('slug'=>$slug));
return $query->row_array();
}
<?php
echo $title;
foreach ($posts as $post): {
echo $post['title'];
}endforeach;
?>
public function account($acno = "") {//changes
$data['title'] = 'Your submissions';
$data['posts'] = $this->Post_model->user_posts();//changes
echo'<pre>';print_r($data);die;//changes
$this->load->view('templates/header');
$this->load->view('users/profile', $data);
$this->load->view('templates/footer');
}
public function user_posts (){
$usernum = $this->session->userdata('customer_id');
$this->db->order_by('created_time','DESC');
$query = $this->db->get_where('posts', array('customer_id' => $usernum));
return $query->result_array();
}
控制器:
public function account(){
$data['title'] = 'Your submissions';
$data['posts'] = $this->post_model->user_posts();
$this->load->view('templates/header');
$this->load->view('users/profile', $data);
$this->load->view('templates/footer');
}
//view function the post by clicking on title
public function view ($slug=NULL){
$data['post'] = $this->post_model->get_posts($slug);
$post_id = $data['post']['id'];
$data['comments'] = $this->comment_model->get_comments($slug);
if(empty($data['post'])){
show_404();
}
$data['title'] = $data['post']['title'];
$this->load->view('templates/header');
$this->load->view('posts/view', $data);
$this->load->view('templates/footer');
}
public function user_posts (){
$usernum = $this->session->userdata('customer_id');
$this->db->order_by('created_time','DESC');
$query = $this->db->get_where('posts',array('customer_id ='=>'$usernum'));
return $query->result_array();
}
$query = $this->db->get_where('posts',array('slug'=>$slug));
return $query->row_array();
}
<?php
echo $title;
foreach ($posts as $post): {
echo $post['title'];
}endforeach;
?>
public function account($acno = "") {//changes
$data['title'] = 'Your submissions';
$data['posts'] = $this->Post_model->user_posts();//changes
echo'<pre>';print_r($data);die;//changes
$this->load->view('templates/header');
$this->load->view('users/profile', $data);
$this->load->view('templates/footer');
}
public function user_posts (){
$usernum = $this->session->userdata('customer_id');
$this->db->order_by('created_time','DESC');
$query = $this->db->get_where('posts', array('customer_id' => $usernum));
return $query->result_array();
}
像这样改变模型功能
Public function user_posts (){
$this->db->order_by('created_time','DESC');
$query = $this->db->get_where('posts', array('customer_id' => $this->session->userdata('customer_id')));
return $query->result_array();
}
关联数组不需要在where()
或get_where()
中使用=
来获取记录
在尝试一些东西后,不需要使用带有
$usernum
的单引号这就是纠正我问题的方法
<?= site_url(); ?>controller_name/account
我相信通过删除$usernum=$this->session->userdata('customer_id')
并将其添加到查询中,现在允许用户调用自己的会话id,而无需在函数中输入会话id
感谢那些给我输入的人,我不知道你的点击按钮是如何设置的,但你应该这样做 按钮单击页面
function account(){
//1. Check if user is Logged in
if (!$this->ion_auth->logged_in())
{
//If they are not logged in, redirect them to login page or do something
}
else{
//User is logged in so get submissions
//Get all submissions
$data['title'] = 'Your submissions';
$this->data['posts']= $this->post_model->user_posts();
$this->load->view('templates/header');
$this->load->view('users/profile', $data);
$this->load->view('templates/footer');
}}
模型中的用户发布功能
也可以考虑在CODENIGITER中使用登录,因为它可以方便地访问会话数据,而不会像您所面临的问题那样访问会话。p> 是否抛出任何错误?您是否已尝试将模型的
返回值
从$query->row_array()
更改为$query->result()代码>?两种方法都没有出现错误,输入的OutComeThank仍然相同,但这确实没有纠正必须在url末尾输入变量的问题。我遗漏了一些东西,但您是否尝试过不带参数,屏幕上显示了什么?我确实打印了,那么由于我的代码更改,您的输出是什么,您是否看到了我的更改,您的模型中$usernum有一个错误实际上我的方法是正确的,当我将引号放回模型中的$usernum中时,我能够看到打印数组中的信息,但是我需要用客户id填充url