Nikita
Освоившийся
Дата регистрации:
06.06.2012 22:12:07
Сообщений: 36
login.php
<?php
//Запускаем Сессию:
session_start();
if (isset($_POST['login'])) { $login = $_POST['login']; if ($login == '') { unset($login);} }
if (isset($_POST['password'])) { $password=$_POST['password']; if ($password =='') { unset($password);} }
//Если пользователь не ввел логин или пароль, то выдаем ошибку
if (empty($login) or empty($password)) {
exit ("Вы ввели не всю информацию, вернитесь назад и заполните все поля!"
}
//Подключаем Базу Данных:
require_once ("database.php"
//Извлекаем из базы все данные о пользователе с введенным логином
$result_user = mysql_query("SELECT * FROM users WHERE login='$login' AND password='$password' AND activation='1'",$db);
$myrow_user = mysql_fetch_array($result_user);
if (empty($myrow_user['id'])) {
exit ("ВЫ ВВЕДИ НЕПРАВИЛЬНЫЙ ЛОГИН ИЛИ ПАРОЛЬ"
}
else {
//Если пароли совпадают, то запускаем пользователю сессию!
$_SESSION['password'] = $myrow_user['password'];
$_SESSION['login'] = $myrow_user['login'];
$_SESSION['id'] = $myrow_user['id'];
//Если пользователь хочет входить на сайт автоматически
if (isset($_POST['save'])){
setcookie("auto", "yes", time()+9999999);
setcookie("login", $_POST["login"], time()+9999999);
setcookie("password", $_POST["password"], time()+9999999);
setcookie("id", $myrow_user['id'], time()+9999999);
}
}
//Перенаправляем пользователя на его страничку
header("Location: http://network.com/users.php?id=$_SESSION[id]"
?>
users.php
<?php
//Запускаем Сессию
session_start();
//Подключаем Базу Данных:
require_once ("database.php"
if (isset($_GET['id'])) {
$id = $_GET['id'];
}
//Если не указали ID, то выдаем ошибку
else {
header("Location: http://network.com/"
}
//Если ID не число, то выдаем ошибку
if (!preg_match("|^[\d]+$|", $id)) {
header("Location: http://network.com/"
}
else {
//Если существует логин и пароль в сессиях, то проверяем, действительны ли они
if (!empty($_SESSION['login']) and !empty($_SESSION['password'])) {
$login = $_SESSION['login'];
$password = $_SESSION['password'];
$result_users_session = mysql_query("SELECT id,name FROM users WHERE login='$login' AND password='$password' AND activation='1'",$db);
$myrow_users_session = mysql_fetch_array($result_users_session);
//Если не действительны
if (empty($myrow_users_session['id'])) {
header("Location: http://network.com/tools.php?action=login"
}
}
//Проверяем, зарегистрирован ли вошедший
else {
//Если не зарегистрированный, перенаправляем на страницу авторизации
header("Location: http://network.com/tools.php?action=login"
}
$result_users = mysql_query("SELECT * FROM users WHERE id='$id'",$db);
//Извлекаем все данные пользователя с данным ID
$myrow_users = mysql_fetch_array($result_users);
}
?>
<html>
<head>
<title><?php echo $myrow_users['login']; ?></title>
</head>
<body>
<h2>Пользователь "<?php echo $myrow_users['login']; ?>"</h2>
<?php
//Если страничка принадлежит вошедшему!
if ($myrow_users['login'] == $login) {
echo "$myrow_users_session[name]";
//Навигация:
print <<<HERE
<br/>
<a href='users.php?id=$myrow_users_session[id]'>Моя страница</a><br/>
<a href='all_users.php'>Список пользователей</a><br/>
<a href='logout.php'>Выход</a>
HERE;
}
//Если страничка чужая!
else
{
echo "$myrow_users[name]";
//Навигация:
print <<<HERE
<br/>
<a href='users.php?id=$myrow_users_session[id]'>Моя страница</a><br/>
<a href='all_users.php'>Список пользователей</a><br/>
<a href='logout.php'>Выход</a>
HERE;
}
?>
</body>
</html>
Где может быть ошибка?