我从我的控制器“user”发送一个值到我的模型“Pmodel”。但是这个值没有在我的模型中传递,因此导致一个空数组。我需要使用该值来在codeigniter中调用连接查询。看看这段代码。
用户控制器:
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;
}
现在,当我尝试访问视图中的值时,它显示一个空数组。
这是表
和表user_data
这是数据插入表单
<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>
答案 0 :(得分:0)
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>
答案 1 :(得分:0)
将电子邮件变量传递给模型,如下所示 -
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);
}
}
按以下方式更新您的模型 -
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();
}