|
|
|
|
|
для: Drago
(07.08.2011 в 16:51)
| | Ясно, спасибо, буду смотреть :) | |
|
|
|
|
|
|
|
для: DEM
(07.08.2011 в 15:51)
| | Значит опять что-то не так делаете. Если в $path стоит корень веб-сервера, куки должны быть доступны в любом каталоге, любом файле. | |
|
|
|
|
|
|
|
для: DEM
(07.08.2011 в 12:49)
| | Только еще один вопрос: а как обращаться к кукам из файла API.php? А то он перестал его видеть :( Я, к счастью, храню это всё еще и в сессии, но на будущее знать было бы полезно :) | |
|
|
|
|
|
|
|
для: Drago
(07.08.2011 в 11:31)
| | О! Теперь всё работает! Спасибо большое!
Раньше просто никогда не работал с $path и $domain и поэтому столкнулся с такой проблемой :)
Еще раз спасибо! | |
|
|
|
|
|
|
|
для: Drago
(07.08.2011 в 11:31)
| | О! Теперь всё работает! Спасибо большое!
Раньше просто никогда не работал с $path и $domain и поэтому столкнулся с такой проблемой :)
Еще раз спасибо! | |
|
|
|
|
|
|
|
для: DEM
(07.08.2011 в 06:56)
| | Конечно не поможет, потому что ничего не изменилось.
У вас проблема в том, что вы ставите куки в файле /class/API.php, а проверяете в /index.php. Без указания параметра $path, куки устанавливаются для всех файлов текущего каталога и вложенных в него. Если указать в $path корень веб-сервера "/", куки будут доступны в любом месте.
Параметр $domain там тоже неспроста, но об этом вам уже Хеопс намекал. | |
|
|
|
|
|
|
|
для: Drago
(06.08.2011 в 15:01)
| | Поставил везде так:
setcookie('id', $user->info['id'], time()+604800, "", ""); (для логина и пароля тоже)
Но не помогло((( | |
|
|
|
|
|
|
|
для: DEM
(06.08.2011 в 14:28)
| | http://php.net/setcookie
Параметр $path. | |
|
|
|
|
|
|
|
для: DEM
(06.08.2011 в 14:06)
| | Проверил, вроде всё нормально(((
Вот код jQuery:
$('#AuthButt').live('click', function(){
// varLoad = $(this).parent().html("<div>Загрузка...</div>");
$.post("class/API.php",
{method: "Auth",
login: $('#login').val(),
pass: $('#pass').val()},
function(html){
if(html!=""){
alerter(2, html);
} else {
alerter(0, 'Произошла ошибка!');
}
});
});
|
А вот метод, который отвечает за авторизацию (при обращении к API.php идёт проверка отправленой переменной $_POST['method'] и если всё норм - вызывается определённый метод):
public function Auth($login, $pass){
global $db; //Знаю что это устарело, как исправлю баг с авторизацией, сразу исправлю
$pass = md5($pass);
$num = $db->query("SELECT * FROM `users`
WHERE `login`=" . $db->quote($login) . "
AND `pass`='" . $pass . "'");
if($num->rowCount() == 1){
$user = $num->fetch(PDO::FETCH_ASSOC);
$_SESSION['login'] = $user['login'];
$_SESSION['pass'] = $user['pass'];
$_SESSION['id'] = $user['id'];
setcookie('login', $user['login'], time()+604800);
setcookie('pass', $user['pass'], time()+604800);
setcookie('id', $user['id'], time()+604800);
echo "Вы удачно авторизировались!";
} else {
session_destroy();
setcookie('login');
setcookie('pass');
setcookie('id'); //на всякий случай удаляю данные, мало ли...
echo "Такой пользователь не найден!";
}
}
|
| |
|
|
|
|
|
|
|
для: cheops
(06.08.2011 в 13:58)
| | А вот это мысль, как буду дома проверю.
Спасибо! | |
|
|
|
|