<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); class CustomWidgets extends MX_Controller { public function userLogin() { $this->load->view('userLogin'); } }
<form role="form" id="login-form" class="login-form"> <input type="text" name="login" placeholder=" "> <input type="password"name="pass" placeholder=" "> <button type="button" id="signIn"></button> </form>
<div id="header" class="row"> <div class="col-xs-3" id="account"> <?=Modules::run('widgets/login/login/userLogin')?> </div> <div class="col-xs-9"> <!-- --> </div> </div>
class User extends MX_Controller { public function __construct() { parent::__construct(); $this->load->model('userModel'); } public function ajax_login() { } public function ajax_logout() { } }
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); class TemplateModel extends CI_Model { // public function __construct() { parent::__construct(); $this->load->database(); } // public function check_user($log) { } public function user_login($login) { } }
$(document).ready(function(){ // Ajax login $('#account').on('click', '#signIn', function(){ var params = $('#login-form').serialize(); console.log(params); // , , . . $.post('user/ajax_login', params, function(data){ if(data == 'denied') { // , , alert(' '); } else { $('#login-form').remove(); $('#account').append(data); } }); }); });
public function ajax_login() { $log['login'] = trim(strip_tags($_POST['login'])); $log['pass'] = sha1(md5($_POST['pass'])); $check = $this->TemplateModel->check_user($log); if($check) { $data['user_info'] = $this->TemplateModel->user_login($log['login']); $ses_data = array( 'login' => $data['user_info']['login'], ); $this->session->set_userdata($ses_data); } else { echo 'denied'; } }
public function check_user($log) { $this->db->where('login', $log['login']); $this->db->where('password', $log['pass']); $query = $this->db->get('user'); if($query->num_rows > 0) { return TRUE; } else { return FALSE; } }
public function user_login($login) { $this->db->where('login', $login); $query = $this->db->get('energy_user'); return $query->row_array(); }
$this->session->set_userdata($ses_data);
redirect(base_url().'widgets/login/login/userLogin');
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); class CustomWidgets extends MX_Controller { public function userLogin() { $data['user_info'] = $this->session->userdata('login'); $this->load->view('userLogin',$data); } }
<?if(!empty($user_info)):?> <div id="userWidget"> <span>, <?=$user_info?></span><br> <a href=""> </a> <button type="button" href="<?=base_url()?>user/logout" id="logout"></button> </div> <?else:?> <form role="form" id="login-form" class="login-form"> <input type="text" name="login" placeholder=" "> <input type="password"name="pass" placeholder=" "> <button type="button" id="signIn"></button> </form> <?endif;?>
public function ajax_logout() { $logout = $_POST['logout']; if($logout) { $this->session->unset_userdata('login'); redirect(base_url().'widgets/login/login/userLogin'); } }
$('#account').on('click', '#logout', function(){ $.post('user/logout', {logout : true}, function(data){ $('#userWidget').remove(); $('#account').append(data); }); });
Source: https://habr.com/ru/post/235175/
All Articles