Так как за плечами 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>
Все что я хочу от вас это консультацию т.к. внятного материала как-то трудновато найти. Я сделал так чтобы от переменной $tf зависел показ определенный частей сайта. Причем делается все это до загрузки всего html кода. Правильно ли это? Может как лучше можно? или правильней надо как-то? Нужна просто критика, советы, я первый раз всетаки
Спустя 26 минут, 56 секунд (22.10.2010 - 16:54) Michael написал(а):
Логика немного нелогичная .
тогда как должно быть типа так:
Если (не авторизован - нет данных в сессии) {
Если (был запрос на авторизацию) {
Если (имя пароль - ок) авторизируем
}
}
тогда как должно быть типа так:
Если (был запрос на авторизацию) {
Если (имя пароль - ок) авторизируем
}
Если (авторизирован) {
}
Цитата (SerginhoLD) |
else echo "ty gondon"; |
не советую на будущее в своих темах использовать подобные красочные выражения. Как говорится, это может и до бана довести.
Спустя 17 минут, 24 секунды (22.10.2010 - 17:12) SerginhoLD написал(а):
Цитата (Michael @ 22.10.2010 - 13:54) |
Логика немного нелогичная .Если (не авторизован - нет данных в сессии) { тогда как должно быть типа так: Если (был запрос на авторизацию) { |
ну наверно да хотя это однои тоже можно сказать, только у меня немного задом на перед
Спустя 1 час, 8 минут, 42 секунды (22.10.2010 - 18:20) Xpund написал(а):
Верно понял, ну и ещё можно в конце
if (logaut=true)
{
Выходим
}
_____________
"internet explorer всех правильней отображает страницы" ©