【问题标题】:Store model function return to controller function存储模型函数返回控制器函数
【发布时间】:2014-12-18 22:04:06
【问题描述】:

我有一个模型,它将登录网站的人的用户名返回给控制器。我正在尝试将用户名保存到一个变量中,然后我可以将其插入到另一个表中,但是我没有运气保存数据。下面是我的模型和控制器类。

型号:

function is_loggedin()
{
$session_id = $this->session->userdata('session_id');
$res = $this->db->get_where('logins',array('session_id' => $session_id));

if ($res->num_rows() == 1) {
    $row = $res->row_array();
    return $row['name'];
}
else {
    return false;
}
}

我的控制器的一部分:

public function index()
{
$loggedin = $this->authlib->is_loggedin();

if ($loggedin === false) 
    $this->load->view('login_view',array('errmsg' => ''));
else
{

    $this->load->view('postquestion_view',array('username' => $loggedin));
    $user = $loggedin['username'];
}
}



   public function askquestion()
{

$qtitle = $this->input->post('title');
$qdetails = $this->input->post('details');
$qtags = $this->input->post('tags');
$qcategory = $this->input->post('category');
$quser = $user;

错误:

A PHP Error was encountered

Severity: Notice

Message: Undefined variable: user

Filename: controllers/postq.php

Line Number: 47

【问题讨论】:

  • 请大声朗读您的控制器并重新提问。 (如果$loggedinFALSE 怎么办?)
  • @Kyslik 这就是我最初的代码(见编辑)。在索引函数中

标签: php codeigniter undefined


【解决方案1】:

这里的错误信息很清楚。函数-action-askquestion()sn-p最后一行的变量$user没有定义。基本上,您必须阅读有关variables scope 的更多信息。

在您目前的情况下,索引操作的代码应该在constructor 中,变量user 应该是一个对象属性。即它应该在你的控制器类中全局定义,然后从构造函数中获取它的值,就像下面的一般演示:

<?php
class Blog extends CI_Controller {

       public $user = false;
       public function __construct()
       {
            parent::__construct();
            // Your own constructor code
       }

       public function askquestion()
       {

              $qtitle = $this->input->post('title');
              $qdetails = $this->input->post('details');
              $qtags = $this->input->post('tags');
              $qcategory = $this->input->post('category');
              $quser = $this->user; //NOTICE THIS LINE
}
?>   

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-25
    • 2014-07-20
    • 1970-01-01
    • 2020-06-19
    • 1970-01-01
    相关资源
    最近更新 更多