apple пишет:
"IceJOKER, как искать?"
http://php.su/functions/?page=cat_sessions
Доброй ночи!В скрипте топа рейтинга сайтов не считает"Ушло на сайт:0" Пришло в топ считает,а ушло нет.Подскажите пожалуста где искать и желательно как правильно прописать.
27 Май 2012, 21:38Почему авторизированый пользователь не перенаправляется?[php:1:2b788a615a]<?php
//
//Авторизация
//
function Login($password, $remember)
{
//Имя не должно быть пустой строкой
if ($password == '')
return false;
//Запомним имя в сессии
$_SESSION['password'] = $password;
// и в cookies, если пользователь пожелал запомнить его (на неделю)
if ($remember)
setcookie('password', $password, time() + 36000 * 24 * 7);
//Успешная авторизация
return true;
}
//
//Сброс авторизации
//
function Logout()
{
//Делаем cookies устааревшими (единственный способ их удаления)
setcookie('password', '', time() - 1);
//Сброс сессии
unset($_SESSION['password']);
}
//
//Точка входа
//
session_start();
$enter_site = false;
//Попадал на страницу login.php сбрасывается
Logout();
//Если масив POST не пуст, значит обрабатываем отправку формы
if (count($_POST) > 0)
$enter_site = Login($_POST['password'], $_POST['remember'] == 'on');
//Переадресация авторизированого пользователя на одну из страниц сайта
if ($enter_site)
{
header("Location: index.php");
exit();
}
?>
<html>
<head>
<title>Вход</title>
</head>
<body>
<form method = "post" action = "">
<input type = "text" name "password"><br>
<input type = "checkbox" name = "remember"><br>
<input type = "submit" value = "Войти">
</form>
</body>
</html>[/php:1:2b788a615a]
Посмотри что возвращает функция Login(), проверь переменную $enter_site после присвоения ей значения.
[php:1:4950b7afed]var_dump($enter_site);[/php:1:4950b7afed]
если мы в перемнной $pass имеем пароль, то как войти по паролю. Напишите код пожалуйста
[php:1:b06c3e686f]<?php
include 'db.php';
//
//Авторизация
//
$query = mysql_query("SELECT * FROM `set_test` ORDER BY id desc LIMIT 1") or die ('Троль');
while ($row = mysql_fetch_array($query)) {
$pass = $row['password'];
}
//
//Авторизация
//
function Login($password, $remember)
{
//Имя не должно быть пустой строкой
if ($password == '')
return false;
//Запомним имя в сессии
$_SESSION['password'] = $password;
// и в cookies, если пользователь пожелал запомнить его (на неделю)
if ($remember)
setcookie('password', $password, time() + 3600 * 24 * 7);
//Успешная авторизация
return true;
}
[/php:1:b06c3e686f]
apple, ну вот зачем так говнокодить?
Вот как должна выглядеть запись получения пароля:
[php:1:1955d80abf]$row = mysql_fetch_array(mysql_query("SELECT * FROM `set_test` ORDER BY `id` DESC LIMIT 1"));
$pass = $row['password'];[/php:1:1955d80abf]
А дальше сравнивай его с паролем полученным из формы. Кстати, я бы не советовал хранить пароль администратора в базе, если администратор один. Каждый раз обращаться к базе чтоб получить пароль - лишняя нагрузка. Лучше запиши в какой-нито конфигурационный файл.
Okula, спасибо, на счет пароля, думаю так такой уж дикой нагрузки не будет. А можешь сравнить, пжл, а то я или тупой совсем стал, или это из за того что этой ночью не спал
28 Май 2012, 3:50