Страница входа
<?php
@error_reporting(E_ALL ^ E_NOTICE);
@ini_set('display_errors', true);
@ini_set('html_errors', false);
@ini_set('error_reporting', E_ALL ^ E_NOTICE);
# Функция для генерации случайной строки
function generateCode($length=6) {
$chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHI JKLMNOPRQSTUVWXYZ0123456789";
$code = "";
$clen = strlen($chars) - 1;
while (strlen($code) < $length) {
$code .= $chars[mt_rand(0,$clen)];
}
return $code;
}
# Соединямся с БД
include_once("bd.php");
if(isset($_POST['submit']))
{
# Вытаскиваем из БД запись, у которой логин равняеться введенному
$query = mysql_query("SELECT user_id, user_password FROM users WHERE user_login='".mysql_real_escape_string($_POST['login'])."' LIMIT 1");
$data = mysql_fetch_assoc($query);
# Сравниваем пароли
if($data['user_password'] === md5(md5($_POST['password'])))
{
# Генерируем случайное число и шифруем его
$hash = md5(generateCode(10));
if(!@$_POST['not_attach_ip'])
{
# Если пользователя выбрал привязку к IP
# Переводим IP в строку
$insip = ", user_ip=INET_ATON('".$_SERVER['REMOTE_ADDR']."')";
}
# Записываем в БД новый хеш авторизации и IP
mysql_query("UPDATE users SET user_hash='".$hash."' ".$insip." WHERE user_id='".$data['user_id']."'");
# Ставим куки
setcookie("id", $data['user_id'], time()+60*60*24*30);
setcookie("hash", $hash, time()+60*60*24*30);
# Переадресовываем браузер на страницу проверки нашего скрипта
header("Location: account.php"); exit();
}
else
{
$error ="<font color=\"#FF9933\">Вы ввели неправильный логин или пароль</font>";
}
}
?>
<head>
<title>Закрытое сообщество вебмастеров</title>
</head>
<style>
body,td,th {
font-family: Tahoma, Arial, Verdana, Helvetica, sans-serif;
font-size: 11px;
color: #F5F5F5;
}
</style>
<body>
<?php
echo $error;
?>
<form method="POST">
<table border="0">
<tr>
<td>Логин</td><td><input name="login" type="text"><td>
</tr>
<tr>
<td>Пароль</td><td><input name="password" type="password"></td>
</tr>
</table>
Не хранить куки: <input type="checkbox" name="not_attach_ip"><br>
<input name="submit" type="submit" value="Войти">
</form><br>
<a href="registration.php" style="text-decoration: none;color:#FFA500;">Регистрация</a> | <a href="lostpswd.php" style="text-decoration: none;color:#FFA500;">Забыли пароль?</a><br>
<br>
</center>
</body>
</html>
На выходе должно получится 5 инвайт кодов для юзера. Инвайты получаются из id юзера