【问题标题】:CodeIgniter - Display User Account details in a Form input from databaseCodeIgniter - 在来自数据库的表单输入中显示用户帐户详细信息
【发布时间】:2018-03-03 15:01:27
【问题描述】:

我是 Codeigniter 的新手,但仍在掌握中。 我有一个用户登录他们的仪表板,他们可以进入他们的帐户页面。我想要的是让帐户页面在表单输入中显示他们的详细信息(用户名、电子邮件等)(然后我将添加更新功能)。 .

使用我当前的代码,我在尝试显示数据时遇到两个错误.. 'results' 的未定义变量和'foreach() 提供的无效参数' .. 提前感谢有人能指出我的正确之处方向

我的控制者

<?php

class Account extends CI_Controller
{
    public function __construct(){
        parent::__construct();
        $this->load->model('Account_model');
    }
    public function view()
    {
        $data['results'] = $this->Account_model->get_users();
        $this->load->helper(array('form','url'));
        $this->load->view('account',$data);
    }
}

我的模型

<?php

    class Account_model extends CI_Model
    {
        public function __construct()
        {
            $this->load->database();
        }
        public function get_users()
        {
            $sql = "SELECT id, username, email FROM users ";
            $query = $this->db->query( $sql );
            return $query->result();
        }
    }

我的观点

<?php
  foreach ($results as $result)
  {?>
    <label>Username : </label>
    <input type="text" value="<?php echo $result->id;?>" />
    <input type="text" value="<?php echo $result->username;?>" />
    <input type="text" value="<?php echo $result->email;?>" />
<?php } ?>

【问题讨论】:

    标签: php sql database codeigniter


    【解决方案1】:

    此错误是因为您的查询未返回任何结果。因此,当您尝试在视图中对不是数组的变量执行 foreach 时,它会给您这个错误。

    确保您首先验证您是否有一个有效的查询,然后您尝试循环。在您看来,您可以这样做:

    if(!empty($results)) {
    // your loop
    }
    

    对于您的疑问,我建议您使用 codeigniter query builder

    【讨论】:

    • 我已根据您的建议删除了错误,但我无法弄清楚查询以显示当前登录用户的详细信息
    • 您的查询返回所有用户的数据。如果那是空的,则您的数据库中没有任何记录。至于登录,您应该收集一个密码和一个可能是电子邮件的 ID,例如在您的查询中电子邮件 = ... 和密码 = ...
    【解决方案2】:
    You can Use The below Example above...
    

    型号:user.php

     <?php
     class User extends CI_Model {
    public function info(){
     //Loading Database
     $this->load->database();
     //Run Query in Database
     $query=$this->db->get('users');
     return $query->result();
     }
    }
     ?>
    

    控制器:blog.php

      <?php
     defined('BASEPATH') OR exit('No direct script access allowed');
    
     class Blog extends CI_Controller {
    
      public function index()
        {
          $this->load->model('user');
         $data['result']= $this->user->info();
        $this->load->view('welcome_user',$data);
            } 
          }
    

    查看次数:welcome_user.php

      <html>
     <head>
     <title>Codeigniter Controller Examples--codenair.com</title>
     </head>
     <h1>User List's</h1>
    <table cellspacing="0" border="1">
    <tr>
    <th>ID</th>
    <th>UserName</th>
    <th>Email</th>
     </tr>
    
    <?php foreach($result as $row){?>
      <tr>
      <td><?php echo $row->id;?></td>
     <td><?php echo $row->username;?></td>
     <td><?php echo $row->email;?></td>
    </tr>
    <?php }?>
     </table>
    

    【讨论】:

    • 这会运行无效的参数 foreach 循环和未定义的结果变量
    【解决方案3】:
          Try This Codes and Print Out Result array. let me know.. 
    
          <?php
             defined('BASEPATH') OR exit('No direct script access allowed');
    
          class Blog extends CI_Controller {
    
           public function index()
          {
             $this->load->model('user');
           $data['result']= $this->user->info();
           print_r($data);
                } 
             }                                                                                                                                                            
    

    【讨论】:

    • 这将返回未定义的变量“数据”.. 我还注意到您的代码是打印查询结果,我需要的是在表单输入中显示结果
    • 即使我已经明确定义了变量,我仍然会遇到未定义的变量错误
    【解决方案4】:
          $loggeduser=$this->session->userdata('username');
          $query= $this->db->query("SELECT*FROM users WHERE username='$loggeduser'");
    

    //试试这个来显示当前登录的用户信息..

    【讨论】:

      猜你喜欢
      • 2015-05-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多