|
|
|
|
|
для: Trianon
(11.08.2007 в 14:29)
| | sessioname - это md5 от названия сайта | |
|
|
|
|
|
|
|
для: Alba
(11.08.2007 в 13:53)
| | и еще, забыл сказать...
Дома на денвере работало все как надо, а выложил на хост - пошли глюки, установил денвер на комп с которого выкладывал - тоже глюки, попросил знакомого зайти на сайт и попытаться авторизироваться и у него глюки... короче нормально работало только у меня дома... | |
|
|
|
|
|
|
|
для: alba
(11.08.2007 в 14:17)
| | А сlass::SessionName как определяется? | |
|
|
|
|
|
|
|
для: Trianon
(11.08.2007 в 14:07)
| | с getParam все в порядке, взял ее из joomla, пробовал убирать ее - результат тот же | |
|
|
|
|
|
|
|
для: Alba
(11.08.2007 в 13:51)
| | если б id обнулялся - Вас бы выбрасывало на login.php
Если так и происходит, довольно интересно как определена функция getParm.
Есть подозрение на ее счет. | |
|
|
|
|
|
|
|
для: Trianon
(11.08.2007 в 13:48)
| | Нет, больше нигде не использую... | |
|
|
|
|
|
|
|
для: alba
(11.08.2007 в 13:47)
| | Почему-то после пары переходов по страницам поля id, type и block обнуляются... | |
|
|
|
|
|
|
|
для: alba
(11.08.2007 в 13:27)
| | и Вы нигде на последующих страницах не присваиваете ничего сессионным переменным, и не используете ни одну session_* функцию, кроме session_start()? | |
|
|
|
|
|
|
|
для: Unkind
(11.08.2007 в 13:37)
| | Вот код функци авторизации:
function setSession($row, $admin=1){
if($admin){
$_SESSION['id'] = $this->id = $row->id;
$_SESSION['name'] = $this->name = $row->name;
$_SESSION['login'] = $this->login = $row->login;
$_SESSION['password'] = $this->password = '';//$row->password;
$_SESSION['type'] = $this->type = $row->type;
$_SESSION['user_type'] = $this->user_type = $row->user_type;
$_SESSION['regdate'] = $this->regdate = $row->regdate;
$_SESSION['block'] = $this->block = $row->block;
}else{
$this->id = $row->block ? 0 : $row->id;
$this->name = $row->name;
$this->login = $row->login;
$this->password = '';
$this->type = $row->type;
$this->user_type = '';//$row->user_type;
$this->regdate = $row->regdate;
$this->block = $row->block;
}
}
function initSessionAdmin($op){
session_name($this->sessionName());
session_start();
if($op!='login' && isset($_SESSION['id']) && isset($_SESSION['name']) && isset($_SESSION['login']) && isset($_SESSION['password']) && isset($_SESSION['type']) && isset($_SESSION['user_type']) && isset($_SESSION['regdate']) && isset($_SESSION['block']) && $_SESSION['id']!==0 && $_SESSION['type']==17){
$id = getParam($_SESSION, 'id', 0);
$query = "SELECT u.id, u.name, u.login, u.password, u.type, t.type AS user_type, u.regdate, u.block"
."\n FROM users AS u, user_type AS t"
."\n WHERE u.type=17 AND u.type=t.id AND u.id=$id"
."\n LIMIT 1"
;
$rows = mysql_query($query);
if($row = mysql_fetch_object($rows)) {
$this->setSession($row);
}else{
Redirect("login.php");
}
mysql_free_result($rows);
}elseif($op==='login' && isset($_POST['login']) && isset($_POST['password']) && $_POST['login']!='' && $_POST['password']!=''){
$login = getParam($_POST, 'login', '');
$password = getParam($_POST, 'password', '');
$password = md5($password);
$query = "SELECT u.id, u.name, u.login, u.password, u.type, t.type AS user_type, u.regdate, u.block"
."\n FROM users AS u, user_type AS t"
."\n WHERE u.type=17 AND u.type=t.id AND login='$login' AND password='$password'"
."\n LIMIT 1"
;
$rows = mysql_query($query);
if($row = mysql_fetch_object($rows)) {
$this->setSession($row);
}else{
Redirect("login.php");
}
mysql_free_result($rows);
}else{
Redirect("login.php");
}
}
|
в коде страницы вызывается функция initSessionAdmin($op)
Гляньте пожалуйста, нет ли ошибок... | |
|
|
|
|
|
|
|
для: alba
(11.08.2007 в 13:27)
| | Просто так ничего не бывает. | |
|
|
|
|