[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Авторизация пользователей
SerginhoLD
я ток начал знакомится с программированием для сайтов.
Так как за плечами 2 года программирования на Delphi, я решил что надо начинать сразу с чего-то интересного, основы у языков всеравно одинаковые.
Вообщем почитав про Сессии, написал вот это:
<?php
$db = mysql_connect("localhost", "Serginho", "12345")
or die("Не могу соединиться с базой данных"); /* соединение с базой данных */
mysql_select_db('mydatabase',$db);

$tf = false; /* просмотр сайта = нельзя */
session_start();
if($_SESSION['log'] == '' or $_SESSION['pas'] == '')
{
if( $_POST['fname'] != '' and $_POST['fpass'] != '') /* логин и пароль введенные пользователем */
{
$uname = htmlspecialchars(trim($_POST['fname']));
$upass = htmlspecialchars(trim($_POST['fpass']));

$res = mysql_query("SELECT * FROM users WHERE login='$uname'");
if ($res>0)
{
$row = mysql_fetch_array($res);
if ($row['password'] == $upass)
{
$_SESSION['log'] = $row['login']; $_SESSION['pas'] = $row['password'];
$tf = true; /* просмотр сайта = можно */
}
}
}
}

else
{
$uname = htmlspecialchars(trim($_SESSION['log']));
$upass = htmlspecialchars(trim($_SESSION['pas']));
$res = mysql_query("SELECT * FROM users WHERE login='$uname'");
if ($res>0)
{
$row = mysql_fetch_array($res);
$tf = true; /* просмотр сайта = можно */
}
else echo "ty gondon";
}
?>
<!DOCTYPE html>
<
html>
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=windows-1251"/>
<
link href="style.css" rel="stylesheet" type="text/css">
<
script type="text/javascript" src="js/jquery.js"></script>
<
title>Example HTML 5 document</title>
</
head>
<
body>

<
div style="margin:10px 10px 10px 10px;">

<?php
if($tf==false) echo "Vy ne mozhete prosmatr. sait";
else echo "molodcom";
/* и т.д. показ различного контента */
?>

</div>

</
body>
</
html>

Все что я хочу от вас это консультацию smile.gif т.к. внятного материала как-то трудновато найти. Я сделал так чтобы от переменной $tf зависел показ определенный частей сайта. Причем делается все это до загрузки всего html кода. Правильно ли это? Может как лучше можно? или правильней надо как-то? Нужна просто критика, советы, я первый раз всетаки smile.gif



Спустя 26 минут, 56 секунд (22.10.2010 - 16:54) Michael написал(а):
Логика немного нелогичная smile.gif .
Если (не авторизован - нет данных в сессии) {
Если (был запрос на авторизацию) {
Если (имя пароль - ок) авторизируем
}
}

тогда как должно быть типа так:
Если (был запрос на авторизацию) {
Если (имя пароль - ок) авторизируем
}
Если (авторизирован) {
}


Цитата (SerginhoLD)
else echo "ty gondon";

не советую на будущее в своих темах использовать подобные красочные выражения. wink.gif Как говорится, это может и до бана довести.

Спустя 17 минут, 24 секунды (22.10.2010 - 17:12) SerginhoLD написал(а):
Цитата (Michael @ 22.10.2010 - 13:54)
Логика немного нелогичная smile.gif .
Если (не авторизован - нет данных в сессии) {
Если (был запрос на авторизацию) {
Если (имя пароль - ок) авторизируем
}
}

тогда как должно быть типа так:
Если (был запрос на авторизацию) {
Если (имя пароль - ок) авторизируем
}
Если (авторизирован) {
}

ну наверно да smile.gif хотя это однои тоже можно сказать, только у меня немного задом на перед

Спустя 1 час, 8 минут, 42 секунды (22.10.2010 - 18:20) Xpund написал(а):
Верно понял, ну и ещё можно в конце
if (logaut=true)
{
Выходим
}


_____________
"internet explorer всех правильней отображает страницы" ©
Быстрый ответ:

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