[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Помогите разобраться с авторизацией
Страницы: 1, 2
Godwarlock
CREATE TABLE IF NOT EXISTS `mymembers` (
`id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
`username` VARCHAR(30) NOT NULL,
`password` VARCHAR(32) NOT NULL,
`email` VARCHAR(32) NOT NULL,
`users_hash` VARCHAR(32) NOT NULL,
PRIMARY KEY (`id`)
)
ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=1;


БД
<?php
# Функция для генерации случайной строки
function generateCode($length=6) {
$chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPRQSTUVWXYZ0123456789";
$code = "";
$clen = strlen($chars) - 1;
while (strlen($code) < $length) {
$code .= $chars[mt_rand(0,$clen)];
}
return $code;
}

# Если есть куки с ошибкой то выводим их в переменную и удаляем куки
if (isset($_COOKIE['errors'])){
$errors = $_COOKIE['errors'];
setcookie('errors', '', time() - 60*24*30*12, '/');
}

# Подключаем конфиг
include 'connect.php';

if(isset($_POST['submit']))
{

# Вытаскиваем из БД запись, у которой логин равняеться введенному
$data = mysql_fetch_assoc(mysql_query("SELECT id, password FROM `mymembers` WHERE `username`='".mysql_real_escape_string($_POST['username'])."' LIMIT 1"));

# Соавниваем пароли
if($data['username'] === md5(md5($_POST['password'])))
{
# Генерируем случайное число и шифруем его
$hash = md5(generateCode(10));

# Записываем в БД новый хеш авторизации и IP
mysql_query("UPDATE mymembers SET users_hash='".$hash."' WHERE id='".$data['id']."'") or die("MySQL Error: " . mysql_error());

# Ставим куки
setcookie("id", $data['id'], time()+60*60*24*30);
setcookie("hash", $hash, time()+60*60*24*30);

# Переадресовываем браузер на страницу проверки нашего скрипта
header("Location: test.php"); exit();
}
else
{
print "Вы ввели неправильный логин/пароль<br>";
}
}

?>
<form method="POST">
Логин <input name="username" type="text"><br>
Пароль <input name="password" type="password"><br>
<
input name="submit" type="submit" value="Войти">
</
form>
<?php
# Проверяем наличие в куках номера ошибки
if (isset($errors)) {print '<h4>'.$error[$errors].'</h4>';}

?>


Это форма входа. Проблема в том, что вводя данные он постоянно пишет что неправильный логин/пароль. Хотя ввожу правильно. В общем после авторизации должна загружаться страница

test.php

<?php
session_start();

error_reporting(E_ALL);
ini_set("display_errors", "1");
// ---------------------------------------------------------
$username = ""; // Initialize $username var
$links = ""; // Initialize $links var
if(!isset($_SESSION["id"])) {
header("location: index.php");
exit();
} else {
$id = preg_replace('#[^0-9]#i', '', $_SESSION["id"]);
$username = preg_replace('#[^a-z0-9]#i', '', $_SESSION["username"]);
$password = preg_replace('#[^a-z0-9]#i', '', $_SESSION["password"]);
$links = '<a href="profile.php">View Your Profile</a> | <a href="logout.php">Log Out</a>';
}
// Check database to see if the id is related to this password
include_once "connect.php";
$sql = mysql_query("SELECT * FROM myMembers WHERE id='$id' AND password='$password' LIMIT 1");
$numrows = mysql_num_rows($sql);
if($numrows == 0){
header("location: index.php");
exit();
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml">
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<
title>Сттаница сайта</title>
<
style type="text/css">
body {background-color: #0A0A0A;}
body,td,th {
font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
font-size: 14px;
color: #CCC;
}
a:link {color: #93C9FF;} a:visited {color: #93C9FF;}
a:hover {color: #FFF;} a:active {color: #93C9FF;}
</style>
</
head>
<
body>
<
p>
<?php echo $links;?>
</p>
<
h2>Привет <?php echo $username; ?>, добро пожаловать </h2>
<
div id="gameContainer">Текст<br />Текст
<?php echo $username; ?></div>
</
body>
</
html>

Помогите пожалуйста разобраться) Буду очень благодарен
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.