[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Нужна помощь с авторизацией
Fender777
Дипломная работа, надо было создать сайт, сайт есть, с авторизацией не могу разобраться, статус пользователя в сессии не сохраняется, надо чтобы неавторизованный пользователь не мог ничего делать, я уже с ума скоро сойду.
своё поудалял всё что с авторизацией связано.



Спустя 41 минута, 24 секунды (12.06.2012 - 21:25) SitnikovArtur написал(а):
Приводите код.

Спустя 1 минута, 13 секунд (12.06.2012 - 21:26) Fender777 написал(а):
Я же говорю я удалил всё что было связанно с авторизацией, потому что уже начал делать из мухи слона

Спустя 5 минут, 44 секунды (12.06.2012 - 21:32) SitnikovArtur написал(а):
Авторизация - это когда проверяются логин/пароль введенные пользователем, и если они (пара) верные, то создается некая сессионная переменная. Там где доступ должен быть только для авторизованных пользователей, должна производиться проверка этой самой переменно на существование. Если переменной не существует - в доступе отказать.

Спустя 11 минут, 25 секунд (12.06.2012 - 21:43) Fender777 написал(а):
я в курсе, что это такое, просто я сначала создал макет HTML и PHP всё было отдельно, а потом когда начал совмещать он начал мне мозг выносить

Спустя 37 минут, 29 секунд (12.06.2012 - 22:21) SitnikovArtur написал(а):
В чем тогда проблема?

Спустя 9 минут, 4 секунды (12.06.2012 - 22:30) Fender777 написал(а):
сейчас при вводе логина и пароля выводится сообщение что типо не ввели данные

Спустя 1 минута, 7 секунд (12.06.2012 - 22:31) rooor написал(а):
ну а код-то где?

Спустя 1 минута, 1 секунда (12.06.2012 - 22:32) Fender777 написал(а):
Цитата
ну а код то где?

мне че весь код сюда вставлять?

Спустя 41 секунда (12.06.2012 - 22:33) rooor написал(а):
тот, который отвечает за авторизацию

Спустя 2 минуты, 56 секунд (12.06.2012 - 22:36) Fender777 написал(а):
файл index.php
<?
SESSION_START();
require_once('connect.php');
if(!isset($_SESSION['autorized']))
{
?>
<a href="login.php">Авторизация</a>
<br /><a href="/register.php">Регистрация</a>
<?
}
else
{
if ($_SESSION['role']=='user')
{
echo "<p align='right'>Вы авторизованы под логином: ".$_SESSION['login']."<BR>";
echo "<a href='logout.php'>Выход</a></p>";
require_once ('menu1.php');
}
if ($_SESSION['role']=='admin')
{
echo "<p align='right'>Вы Админ и ваш логин: ".$_SESSION['login']."<BR>";
echo "<a href='logout.php'>Выход</a></p>";
require_once ('menu.php');
}
}
?>

Спустя 1 минута, 34 секунды (12.06.2012 - 22:37) Fender777 написал(а):
файл login.php
<?
session_start();
if (!isset($_POST['enter']))
{
?>
<h3 class="aligncenter">Авторизация</h3>
<
form method='POST' action=''>
Авторизация на сайте<BR>
<
BR>
<
BR>
Ваш логин: <BR><input type='text' name='login' value=''><BR><BR>
Ваш пароль:<BR><input 'password' name='password'><BR>
<
BR>
<
input name='enter' type='submit' valur='Войти'>
<
BR><BR><BR>
<?
}
else
{
if($_POST['login']!='' and $_POST['pass']!='')//ne pustue poly
{
$safe_login=$_POST['login'];
$safe_parol=$_POST['pass'];
require_once('connect.php');
$sql="select login,pass,role from Users where login='".$safe_login."' and pass='".$safe_parol."'";
$result=mysql_query($sql);
if(!mysql_num_rows($result))
{
die("неверный логин или пароль <a href='index.php'>Назад!</a>");
}
else
{
$line=mysql_fetch_row($result);
$_SESSION['autorized']=true;
$_SESSION['login']=$_POST['login'];
$_SESSION['role']=$line[2];
echo "Авторизация прошла успешно!<a href=index.php><BR>Вернуться на главную</a>";
}
}

else
{die("Вы не ввели данные<a href='index.php'>Назад!</a>");
}
}

?>

Спустя 2 минуты, 17 секунд (12.06.2012 - 22:39) rooor написал(а):
login.php
if($_POST['login']!='' and $_POST['pass']!='')

а откуда берутся $_POST['login'] и $_POST['pass'] ? Как они попадают в login.php?

Спустя 1 минута, 56 секунд (12.06.2012 - 22:41) Fender777 написал(а):
Цитата
а откуда берутся $_POST['login'] и $_POST['pass'] ? Как они попадают в login.php?

из базы они беруться

Спустя 4 минуты, 3 секунды (12.06.2012 - 22:45) rooor написал(а):
Цитата
POST
Применяется для передачи пользовательских данных заданному ресурсу. Посетители обычно могут вводить свои комментарии к записям в HTML-форму, после чего они передаются серверу методом POST и он помещает их на страницу. При этом передаваемые данные (в примере - текст комментария) включаются в тело запроса. Аналогично с помощью метода POST обычно загружаются файлы на сервер.

причём тут база? Куда пользователь вводит логин/пароль?

Спустя 4 минуты, 54 секунды (12.06.2012 - 22:50) inpost написал(а):
Хороший вопрос. Ты делаешь проверку, значит данные откуда-то приходят. Откуда?!

Спустя 4 минуты, 59 секунд (12.06.2012 - 22:55) Fender777 написал(а):
Цитата
Хороший вопрос. Ты делаешь проверку, значит данные откуда-то приходят. Откуда?!

как откуда, из базы откуда еще, он проверяет есть такие данные в базе или нет и ответ присылает, а здесь видимо он до базы не доходит и пишет что не ввели данные

Спустя 56 секунд (12.06.2012 - 22:56) Fender777 написал(а):
Цитата
причём тут база? Куда пользователь вводит логин/пароль?

в форму вводит вот в эту
Цитата
Ваш логин: <BR><input type='text' name='login' value=''><BR><BR>
    Ваш пароль:<BR><input 'password' name='password'><BR>


Спустя 2 минуты, 34 секунды (12.06.2012 - 22:59) rooor написал(а):
тогда почему в форме поле name='password', а в обработчике проверяем $_POST['pass'] ? Тогда и проверять надо $_POST['password']

Спустя 3 минуты, 4 секунды (12.06.2012 - 23:02) Fender777 написал(а):
млять (х)_(х)

Спустя 41 минута, 35 секунд (12.06.2012 - 23:43) Fender777 написал(а):
Спасибо большое)
Быстрый ответ:

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