Я хочу сохранить идентификатор зарегистрированного пользователя из таблицы с именем «user» в другой таблице с именем «article» после публикации статьи.Я понятия не имею, как использовать сеанс / для хранения данных сеанса в массив и новичок в CodeIgniter.Так что любые рекомендации приветствуются.Заранее спасибо!
User.php (контроллер входа)
class User extends CI_Controller {
function __construct(){
parent::__construct();
$this->load->helper('url');
$this->load->model('users_model');
}
public function index(){
//load session library
$this->load->library('session');
//restrict users to go back to login if session has been set
if($this->session->userdata('user')){
redirect('ask_controller');
}
else{
$this->load->view('login_page');
}
}
public function login(){
//load session library
$this->load->library('session');
// $fname = $_POST['username'];
$email = $_POST['email'];
$password = $_POST['password'];
$data = $this->users_model->login($email, $password);
if($data){
$this->session->set_userdata('user', $data);
redirect('ask_controller');
}
else{
header('location:'.base_url().$this->index());
$this->session->set_flashdata('error','Invalid login. User not found');
}
}
public function home(){
//load session library
$this->load->library('session');
//restrict users to go to home if not logged in
if($this->session->userdata('user')){
$this->load->view('ask_controller');
}
else{
redirect('/');
}
}
public function logout(){
//load session library
$this->load->library('session');
$this->session->unset_userdata('user');
redirect('/');
}
}
User_model.php (модель входа)
public function login($email, $password){
$query = $this->db->get_where('user', array('email'=>$email, 'password'=>$password));
return $query->row_array();
}
?>
Login_page.php
<form action="<?php echo base_url(); ?>index.php/user/login" method="post">
<?php
// if(! is_null($msg)) echo $msg;
?>
<input class="form-control" placeholder="Email" type="email" name="email" required />
<input class="form-control" placeholder="Password" type="password" name="password" required />
<div class="text-center">
<input type="submit" name="submit" class="button" value="LOG IN" style="border-radius: 4px;border: none;">
<a href="signup.html" target="_blank"><div class="button">Create an account</div></a>
</div>
<?php
if($this->session->flashdata('error')){
?>
<div class="alert alert-danger text-center" style="margin-top:20px;">
<?php echo $this->session->flashdata('error'); ?>
</div>
<?php
}
?>
</form>
Ask_view.php (где вы можете опубликовать статью)
<form id="form" enctype="multipart/data" method="post" onsubmit="createTextSnippet();">
<div class="form-group">
<label for="exampleInputEmail1">Title</label>
<input type="text" name ="title" class="form-control" id="title" placeholder="Title" required >
</div>
<input type="hidden" name="hidden_snippet" id="hidden_snippet" value="" />
<div class="form-group">
<label for="exampleInputEmail1">Editor</label>
<textarea name ="text" class="form-control" id="text" rows="3" placeholder="Textarea" required></textarea>
</div>
<input type="submit" class="btn " name="submit" value ="Submit" style="width: 100%;background: #f4a950;color:#161b21;">
</form>
Ask_controller.php
public function book_add(){
// $result=$this->ask_model->get_id();
$data=$_POST;
$details = array();
$details['title'] = $data['title'];
$details['content'] = $data['text'];
$details['snippet'] = $data['hidden_snippet'];
$details['createdDate']=date('Y-m-d H:i:s');
$result=$this->ask_model->book_add($details);
$val =$this->session->user;
echo json_encode(array('id'=>$data,'data'=>$result));
}
Ask_model.php
public function book_add($data)
{
$query=$this->db->insert('article', $data);
return $query;
}