Login Not work in host |
[eluser]Hamed[/eluser]
Hello, I have one login which work on local host but it doesn't work on web server: This is my class for login: <?php if (!defined('BASEPATH')) exit('No direct script access allowed'); /** * @author Ali Ghasemzadeh * @copyright 2012 * @website http://ghasemzadeh.ir * @email [email protected] */ class User extends CI_Model { public $isLogin = false; public function __construct() { parent::__construct(); date_default_timezone_set($this->config->item('default.time.zone')); if ($this->session->userdata('uid')) { $sid = $this->session->userdata('sid'); $now = time(); $query = $this->db->query("SELECT * FROM `online` WHERE sid = '$sid' AND expireTime > $now LIMIT 1"); if($query->num_rows() == 1) { if($this->session->userdata('reminder') == 1) { $ntime = time() + $this->config->item('expire.time.reminder') * 24 * 60 * 60; } else { $ntime = time() + $this->config->item('expire.time') * 60; } $nurl = $_SERVER['REQUEST_URI']; $this->db->query("UPDATE `online` SET `lastClick` = '$nurl', `expireTime` = '$ntime' WHERE `sid` = '$sid';"); $this->isLogin = true; } else { $this->session->sess_destroy(); $this->isLogin = false; } } else { $this->isLogin = false; } } public function randomString($length) { $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; $randomString = ''; for ($i = 0; $i < $length; $i++) { $randomString .= $characters[rand(0, strlen($characters) - 1)]; } return $randomString; } public function login($username, $password, $reminder) { $query = $this->db->query("SELECT * FROM `user` WHERE username='$username' AND password='$password' AND isEmailAct='1' LIMIT 1"); if ($query->num_rows() == 1) { if($reminder == 1) { $expireTime = time() + $this->config->item('expire.time.reminder') * 24 * 60 * 60; } else { $expireTime = time() + $this->config->item('expire.time') * 60; } $time = time(); $user = $query->row_array(); $uid = $user['uid']; $curIP = $_SERVER['REMOTE_ADDR']; $lastLoginTime = time(); $url = $_SERVER['REQUEST_URI']; $lastIP = $user['curIP']; $this->db->query("DELETE FROM `online` WHERE `uid` = $uid OR expireTime < $time"); $this->db->query("UPDATE `user` SET `curIP` = '$curIP', `lastIP` = '$lastIP', `lastLoginTime` = '$lastLoginTime' WHERE `user`.`uid` = '$uid';"); $this->db->query("INSERT INTO `online` (`sid`, `uid`, `username`, `IP`, `lastClick`, `expireTime`) VALUES (NULL, '$uid', '$username', '$curIP', '$url', '$expireTime');"); $user['sid'] = $this->db->insert_id(); $user['reminder'] = $reminder; $this->session->set_userdata($user); $this->isLogin = true; return true; } else { return false; } } public function logout() { $uid = $this->session->userdata('uid'); $time = time(); $this->session->sess_destroy(); $this->db->query("DELETE FROM `online` WHERE `uid` = '$uid' OR expireTime < $time"); $this->isLogin = false; return true; } public function register($username, $password, $email, $name, $family, $mobile, $sex, $address) { $mobileActCode = rand(1000, 9999); $emailActCode = rand(1000, 9999); $registerTime = time(); $registerIP = $_SERVER['REMOTE_ADDR']; $this->db->query("INSERT INTO `user` (`uid`, `username`, `password`, `email`, `name`, `family`, `mobile`, `sex`, `address`, `newEmail`, `newMobile`, `emailActCode`, `mobileActCode`, `isEmailAct`, `isMobAct`, `isAdmin`, `registerTime`, `registerIP`, `curIP`, `lastIP`, `lastLoginTime`, `note`) VALUES (NULL, '$username', '$password', '$email', '$name', '$family', '$mobile', '$sex', '$address', '$email', '$mobile', '$emailActCode', '$mobileActCode', '0', '0', '0', '$registerTime', '$registerIP', '', '', '0', '');"); $uid = $this->db->insert_id(); //Sending Email $this->load->library('email'); $this->email->from($this->config->item('email.sender.address'), $this->config->item('email.sender.name')); $this->email->to($email); $this->email->subject(lang('email.activation.subject')); $link = base_url() . "auth/activeEmail/" . $uid . "/" . $emailActCode; $this->email->message(lang('email.activation.message') . $link); $this->email->send(); //Sending SMS return true; } public function verfityEmail($email) { if(!filter_var($email, FILTER_VALIDATE_EMAIL)) { return false; } $query = $this->db->query("SELECT * FROM `user` WHERE `email` = '$email' LIMIT 1"); if ($query->num_rows() == 1) { return false; } else { return true; } } public function resendEmailActivation($email) { if(!filter_var($email, FILTER_VALIDATE_EMAIL)) { return false; } $query = $this->db->query("SELECT * FROM `user` WHERE `email` = '$email' LIMIT 1"); if ($query->num_rows() == 1) { $user = $query->row(); $uid = $user->uid; $emailActCode = $user->emailActCode; $email = $user->email; //Sending Email $this->load->library('email'); $this->email->from($this->config->item('email.sender.address'), $this->config->item('email.sender.name')); $this->email->to($email);
|
Welcome Guest, Not a member yet? Register Sign In |