简体   繁体   中英

Getting Empty Array while trying to pass value from controller to model codeigniter

I am Sending a value from my controller "user" to my model "Pmodel". but the value is not getting passed in my model thus resulting in a empty array. i need to use the value to call the join query in codeigniter. look at this code.

User Controller:

   public function profile_user()
    {
      if ($this->session->userdata('data') === NULL)
    {

        return redirect('user/login_invalid');
    }
    else
    { 

      $this->load->model('Pmodel');
      $email['product']=$this->Pmodel->Profile_model('$email');
       $this->load->view('dashboard/profile',$email);

    } 
    }


Pmodel Model:


 public function profile_model($cache)
    {

        $email=$cache['email'];

    $query=$this->db->where(['user_data.email'=>$email])
        ->from('user')
        ->join('user_data', 'user_data.email = user.email')
        ->get();    

    $q= $query->result_array(); 
    print_r($q);
    exit();
    return $q;
    }

Now when i try to access the value in my view it shows a empty array. here is the table
在此处输入图片说明 and the table user_data
在此处输入图片说明

here is the form for data insertion

<div class="main-login main-center" id="login">
  <?php echo form_open('user/login_user',['class'=>'form-horizontal']) ?>
   <?php if($error=$this->session->flashdata('Login_failed')): ?>
            <div class="alert alert-dismissible alert-danger">

  <?=  $error ?> 
</div>
<?php endif; ?>
   <div class="form-group">
              <label for="email" class="cols-sm-2 control-label">Your Email</label>
              <div class="cols-sm-10">
                <div class="input-group">
                  <span class="input-group-addon"><i class="fa fa-envelope fa" aria-hidden="true"></i></span>
                 <?php echo form_input(['name'=>'email','type'=>'email','class'=>'form-control','placeholder'=>'Email','id'=>'inputEmail','value'=>set_value('email')]); ?>
                </div>
                <div class="error message">
  <?php echo form_error('email');?>
</div>
              </div>
            </div>
<div class="form-group">
              <label for="password" class="cols-sm-2 control-label">Password</label>
              <div class="cols-sm-10">
                <div class="input-group">
                  <span class="input-group-addon"><i class="fa fa-lock fa-lg" aria-hidden="true"></i></span>
                  <?php echo form_password(['name'=>'password','class'=>'form-control','placeholder'=>'Password','id'=>'inputpassword']); ?>
                </div>

<div class="error message">
  <?php echo form_error('password');?>
</div>
              </div>
            </div>
  <div class="form-group ">
             <?php echo form_submit(['name'=>'login','value'=>'Login','class'=>'btn btn-success btn-lg btn-block login-button']) ?>
             </form>
            </div>      


</div>



        <div class="main-login main-center" id="register">
  <?php echo form_open('user/register_data',['class'=>'form-horizontal']) ?>
  <?php if($sucess=$this->session->flashdata('registration_success')): ?>
            <div class="alert alert-dismissible alert-success">

  <?=  $sucess ?> 
</div>
<?php endif; ?>
            <div class="form-group">
              <label for="name" class="cols-sm-2 control-label">Your Name</label>
              <div class="cols-sm-10">
                <div class="input-group">
                  <span class="input-group-addon"><i class="fa fa-user fa" aria-hidden="true"></i></span>
                   <?php echo form_input(['name'=>'uname','class'=>'form-control','placeholder'=>'Name','id'=>'inputname','value'=>set_value('uname')]); ?>
                </div>
                <div class="error message">
                <?php echo form_error('uname');?>
                </div>
              </div>
            </div>

            <div class="form-group">
              <label for="email" class="cols-sm-2 control-label">Your Email</label>
              <div class="cols-sm-10">
                <div class="input-group">
                  <span class="input-group-addon"><i class="fa fa-envelope fa" aria-hidden="true"></i></span>
                 <?php echo form_input(['name'=>'email','class'=>'form-control','placeholder'=>'Email','id'=>'inputEmail','value'=>set_value('email')]); ?>
                </div>
                <div class="error message">
  <?php echo form_error('email');?>
</div>
              </div>
            </div>

            <div class="form-group">
              <label for="password" class="cols-sm-2 control-label">Password</label>
              <div class="cols-sm-10">
                <div class="input-group">
                  <span class="input-group-addon"><i class="fa fa-lock fa-lg" aria-hidden="true"></i></span>
                  <?php echo form_password(['name'=>'password','class'=>'form-control','placeholder'=>'Password','id'=>'inputpassword']); ?>
                </div>

<div class="error message">
  <?php echo form_error('password');?>
</div>
              </div>
            </div>

            <div class="form-group">
              <label for="confirm" class="cols-sm-2 control-label">Confirm Password</label>
              <div class="cols-sm-10">
                <div class="input-group">
                  <span class="input-group-addon"><i class="fa fa-lock fa-lg" aria-hidden="true"></i></span>
                  <?php echo form_password(['name'=>'passconf','class'=>'form-control','placeholder'=>'Confirm Your Password','id'=>'inputpassword']); ?>
                </div>
                <div class="error message">
  <?php echo form_error('passconf');?>
</div>
              </div>
            </div>

            <div class="form-group ">
             <?php echo form_submit(['name'=>'register','value'=>'Register','class'=>'btn btn-success btn-lg btn-block login-button']) ?>

            </div>

 </div>
                 </form>

                 </div>
                 </div>

   </div>
add this code in controller register showing function
 $data['all_user '] = $this->Pmodel->SelectAllUser();
and pass the $data veriable

add this code in your model

    public function SelectAllUser() {
        $this->db->select('*');
        $this->db->from('user');
        $query = $this->db->get();
        return $query->result();
    }



for register user   
     <div class="main-login main-center" id="register">
          <?php echo form_open('user/register_data',['class'=>'form-horizontal']) ?>
          <?php if($sucess=$this->session->flashdata('registration_success')): ?>
                    <div class="alert alert-dismissible alert-success">

          <?=  $sucess ?> 
        </div>
        <?php endif; ?>
                    <div class="form-group">
                      <label for="name" class="cols-sm-2 control-label">Your Name</label>
                      <div class="cols-sm-10">
                        <div class="input-group">
                          <span class="input-group-addon"><i class="fa fa-user fa" aria-hidden="true"></i></span>
                           <?php echo form_input(['name'=>'uname','class'=>'form-control','placeholder'=>'Name','id'=>'inputname','value'=>set_value('uname')]); ?>
                        </div>
                        <div class="error message">
                        <?php echo form_error('uname');?>
                        </div>
                      </div>
                    </div>


                    <div class="form-group">
                        <label class="col-md-2">user name</label>
                        <div class="col-md-3">
                            <select class="form-control" name="user_id">
                                <?php
                                foreach ($all_user as $user_show):
                                    ?>
                                <option value="<?php echo $user_show->id?>"><?php echo $user_show->uname?></option>
                                <?php
                                endforeach;
                                ?>
                            </select>
                        </div>

                    </div>

                    <div class="form-group">
                      <label for="email" class="cols-sm-2 control-label">Your Email</label>
                      <div class="cols-sm-10">
                        <div class="input-group">
                          <span class="input-group-addon"><i class="fa fa-envelope fa" aria-hidden="true"></i></span>
                         <?php echo form_input(['name'=>'email','class'=>'form-control','placeholder'=>'Email','id'=>'inputEmail','value'=>set_value('email')]); ?>
                        </div>
                        <div class="error message">
          <?php echo form_error('email');?>
        </div>
                      </div>
                    </div>

                    <div class="form-group">
                      <label for="password" class="cols-sm-2 control-label">Password</label>
                      <div class="cols-sm-10">
                        <div class="input-group">
                          <span class="input-group-addon"><i class="fa fa-lock fa-lg" aria-hidden="true"></i></span>
                          <?php echo form_password(['name'=>'password','class'=>'form-control','placeholder'=>'Password','id'=>'inputpassword']); ?>
                        </div>

        <div class="error message">
          <?php echo form_error('password');?>
        </div>
                      </div>
                    </div>

                    <div class="form-group">
                      <label for="confirm" class="cols-sm-2 control-label">Confirm Password</label>
                      <div class="cols-sm-10">
                        <div class="input-group">
                          <span class="input-group-addon"><i class="fa fa-lock fa-lg" aria-hidden="true"></i></span>
                          <?php echo form_password(['name'=>'passconf','class'=>'form-control','placeholder'=>'Confirm Your Password','id'=>'inputpassword']); ?>
                        </div>
                        <div class="error message">
          <?php echo form_error('passconf');?>
        </div>
                      </div>
                    </div>

                    <div class="form-group ">
                     <?php echo form_submit(['name'=>'register','value'=>'Register','class'=>'btn btn-success btn-lg btn-block login-button']) ?>

                    </div>

         </div>
                         </form>

                         </div>
                         </div>

           </div> 

Pass email variable to model as below -

public function profile_user() {
    if ($this->session->userdata('data') === NULL) {
        return redirect('user/login_invalid');
    } else { 
        $this->load->model('Pmodel');
        // no need to pass variable in qoutes
        $email['product'] = $this->Pmodel->Profile_model($email);
        $this->load->view('dashboard/profile',$email);
    } 
}

Update you model as below -

public function profile_model($email)
{
    $this->db->select( 'user.*, user_data.*' );
    $this->db->from( 'user' );
    $this->db->join( 'user_data', 'user.email = user_data.email' );
    return $this->db->get()->result_array();

}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM