Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/239.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 不通过调用方法加载视图_Php_Codeigniter - Fatal编程技术网

Php 不通过调用方法加载视图

Php 不通过调用方法加载视图,php,codeigniter,Php,Codeigniter,我制作了一个用户表,当他提交帖子时,该表将链接到他的帖子。(部件工作正常) 所以我一直在尝试在codeigniter 3中创建一个方法。我将它设置为如果用户登录并单击他的用户名,它将显示所有提交的内容,只需从表中提取他的用户名,然后循环浏览他的帖子 嗯,我有两个问题 当我输入url来调用这个函数时,它需要一个uri值。示例:localhost/CI/controller/account,但在我将某些内容放在account之后(account是方法名)它才会加载 像localhost/CI/co

我制作了一个用户表,当他提交帖子时,该表将链接到他的帖子。(部件工作正常)

所以我一直在尝试在codeigniter 3中创建一个方法。我将它设置为如果用户登录并单击他的用户名,它将显示所有提交的内容,只需从表中提取他的用户名,然后循环浏览他的帖子

嗯,我有两个问题


当我输入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