Форум программистов, компьютерный форум, киберфорум
PHP
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/12: Рейтинг темы: голосов - 12, средняя оценка - 4.75
WEB-developer
898 / 729 / 80
Регистрация: 12.03.2009
Сообщений: 2,804
Записей в блоге: 2
1

вход в систему

16.06.2010, 18:55. Показов 2436. Ответов 13
Метки нет (Все метки)

делаю на сайте вход в систему.
дизайн верстаю с помощью шаблонов, тоесть на странице подключаю поля для входа на сайт с помощью тега {login}.Обрабатыаю етот тег с помощью файла *.php.
Имеется файл login.php, где есть ети поля: логин и пароль.
Хочу зделать так, чтобы в етом файле были и поля для введения пароля, и обработчик етих полей, тоесть запрос к БД, и ещё некоторая информация.
Нужно зделать так, чтобы естли пользователь не вошол на сайт, то он видет ети поля для входа в систему, а естли же пользователь вошол в систему, то он будет видеть информацию про пользователя.

Думаю ето всё зделать в одном файле. Так вот в чём заключаются вопросы:
1. можно ли зделать так, чтобы в одном файле были поля для ввода пароля и логина, и здесь чтобы сразу был их обработчик.
2. думаю проверять то что пользователь вошол следуючим образом:
когда пользователь вошол, тогда открывается сессия с его id, и по тому есть ли сессия или нет, то в соответствии с етим выводить форму для входа, или же инфу с профиля.

Добавлено через 2 часа 10 минут
в прочем начал делать....
вот есть файл index.php
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
<?php
$tmp=file_get_contents("../../templates/start/main.tpl");
$title="Головна сторінка";
$css="<link href='../../templates/start/css/engine.css' rel='stylesheet' type='text/css' />";
 
//підключаємо меню з файлу
$navigation=''; // Обнуляем переменную
function callback($s) // Эта функция будет вызываться вместо вывода данных браузеру
{
        $GLOBALS['navigation'].=$s; // Новые данные добавляем к переменной
}
ob_start('callback'); // Включаем кеширование и указываем, что вместо отправки данных клиенту, их нужно отправлять в функцию callback
include 'menu.php'; // Просто выполняем скрипт
ob_end_flush();   // Выключаем кеширование... теперь все данные будут уходить браузеру
$menu="$navigation";
 
 
//підключаємо файл входу в систему
$log=''; // Обнуляем переменную
function callback1($s1) // Эта функция будет вызываться вместо вывода данных браузеру
{
        $GLOBALS['log'].=$s1; // Новые данные добавляем к переменной
}
ob_start('callback1'); // Включаем кеширование и указываем, что вместо отправки данных клиенту, их нужно отправлять в функцию callback
include 'login.php'; // Просто выполняем скрипт
ob_end_flush();   // Выключаем кеширование... теперь все данные будут уходить браузеру
$login="$log";
 
 
include ("../../configuration/config.php");
 
$query = "SELECT * FROM main";
 $result=mysql_query($query); 
 $r=mysql_fetch_array($result); 
$name=$r['name'];
$photo=$r['photo'];
$description=$r['description'];
 
 
 
 
$tmp = ereg_replace("{title}", $title, $tmp);
$tmp = ereg_replace("{css}", $css, $tmp);
$tmp = ereg_replace("{menu}", $menu, $tmp);
$tmp = ereg_replace("{name}", $name, $tmp);
$tmp = ereg_replace("{photo}", $photo, $tmp);
$tmp = ereg_replace("{description}", $description, $tmp);
$tmp = ereg_replace("{login}", $login, $tmp);
echo $tmp;
?>
login.php
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<?
session_start();
include ("../../configuration/config.php");
 
//=========================NOT_LOGED=====================
if ($_SESSION['id']=='')
{
echo "<form method='post' action=''>
Логін:&nbsp;<input type='text' name='login' />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Пароль:&nbsp;<input type='text' name='password' /><br />
<input type='submit' value='    Ввійти    '>
</form>
<a href='register.php'>Реєстрація</a>";
}
 
//====================================================
 
$login=$_POST['login'];
$password=$_POST['password'];
 
 
$query = "SELECT * FROM users WHERE `nick`='$login'";
$result=mysql_query($query); 
$r=mysql_fetch_array($result);
if ($r['password']==$password)
{
    $_SESSION['id']=$r['id'];
}
 
//==========================LOGED==================
if ($_SESSION['id']!='')
{
echo "
<a href='userinfo.php?id=".$_SESSION['id']."'>Переглянути профіль</a>";
}
?>
весь файл работает, тоесть есть поля для ввода логина и пароля, пользователь их вводит, и я их присваиваю переменным. Они работают. Теперь пробую зделать сессии для того чтобы можно было выводить то одну инфу, то вторую(поля или ссилки), но в результате выполнения получаю такие вот ошыбки(как я понял, то ругается на щот сессий)
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at Z:\home\nazz.n\www\engine\eng\index.php:14) in Z:\home\nazz.n\www\engine\eng\login.php on line 2

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at Z:\home\nazz.n\www\engine\eng\index.php:14) in Z:\home\nazz.n\www\engine\eng\login.php on line 2
подскажыте, как можно избавится от проблемы???

Добавлено через 7 минут
посмотрел, и увидел, что мой код работает, только не работают сессии, тоесть не идёт проверка есть ли сессии, и я не могу показать/скрить ненужную инфу(((
подскажіте, как ещё можно проверить вошол ли пользователь на сай, или нет???
может кто подскажет, как решіть такую проблему?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.06.2010, 18:55
Ответы с готовыми решениями:

Вход по паролю
Здраствуйте. Пытаюсь сделать вход в панель управления сайтом по паролю: &lt;p&gt;Введите пароль...

Вход в систему
Я сделал php файл который должен осуществлять вход в систему. входит даже если пароль неверный...

Вход на сайт
При входе на сайт (на локальном сервере), ссылка выглядит вот так:...

Вход на сайт
Как сделать вход на сайт ? Есть форма регистрации : $login = $_POST; $first_name = $_POST;...

13
1954 / 793 / 89
Регистрация: 03.11.2009
Сообщений: 3,066
Записей в блоге: 2
16.06.2010, 18:57 2
Цитата Сообщение от Nazz Посмотреть сообщение
ob_start('callback'); // Включаем кеширование и указываем, что вместо отправки данных клиенту, их нужно отправлять в функцию callback
include 'menu.php'; // Просто выполняем скрипт
ob_end_flush(); // Выключаем кеширование... теперь все данные будут уходить браузеру
укажите следующее:
PHP
1
2
3
ob_start('callback'); // Включаем кеширование и указываем, что вместо отправки данных клиенту, их нужно отправлять в функцию callback
include 'menu.php'; // Просто выполняем скрипт
ob_end_flush( 'callback' ); // Выключаем кеширование... теперь все данные будут уходить браузеру
0
WEB-developer
898 / 729 / 80
Регистрация: 12.03.2009
Сообщений: 2,804
Записей в блоге: 2
17.06.2010, 10:16  [ТС] 3
так воопще ничего не выводит(( страница полностью пуста(( выводит, только заголовок страницы((

Добавлено через 5 минут
что-то я не пойму(( убрал, то что сменил, и всё равно ничего не выводит((

Добавлено через 3 минуты
как только делаю, то что вы говорите страница перестаёт отображатся. естли убираю, то страница отображается, но выскакивает предуприждение
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at Z:\home\nazz.n\www\engine\eng\index.php:14) in Z:\home\nazz.n\www\engine\eng\login.php on line 2
Добавлено через 31 минуту
сейчас уже понял, что сессии ето немножко не то, потому, что после 2-й перезагрузки страницы она исчезает:
после первой перезагрузки - вступает в действие
после второй перезагрузки - наново исчезает

как вы посоветуете делать вход на сайт, и проверку того, вошол ли пользователь в систему???

Добавлено через 14 часов 32 минуты
что, так и никто не посоветует как лутше зделать????

думал, через БД, но ето не то решение, которое можно зделать(((
0
1954 / 793 / 89
Регистрация: 03.11.2009
Сообщений: 3,066
Записей в блоге: 2
17.06.2010, 10:58 4
Тогда попробуйте удалить session_start(); из login.php и прописать в index.php в самом верху.

Добавлено через 1 минуту
Просто у Вас уже был вывод меню на страницу index.php
1
WEB-developer
898 / 729 / 80
Регистрация: 12.03.2009
Сообщений: 2,804
Записей в блоге: 2
17.06.2010, 11:36  [ТС] 5
romchiksoad, спасибо)) ето помогло)) ошыбки нет))

но сейчас, я уже не об етом. я понял что делать так идентефикацию пользователей нет смысла, потому, что так она неверно работает((( сессии постоянно оновляются, и в опщем ето не то, что хотелось бы получить...(

вы могли бы мне подсказать как правильно зделать идентефикацию пользователей, чтобы всё хорошо работало? как она воопще делается? просто мне нужно зделать так, чтобы когда пользователь не вошол, были видны одни поля, а когда вошол, тогд были ссылки на профиль...?
как можно реализовать такую идентефикацию?
0
Программист
107 / 111 / 9
Регистрация: 27.09.2009
Сообщений: 331
17.06.2010, 23:53 6
сессии не обновляются,если ты не сделаешь session_destroy ,или не закроешь браузер. Механизм сессий в пхп вполне подходит под авторизацию. Конечно ты можешь усовершенствовать своими функциями,но это уже на твоё усмотрение
0
WEB-developer
898 / 729 / 80
Регистрация: 12.03.2009
Сообщений: 2,804
Записей в блоге: 2
19.06.2010, 10:37  [ТС] 7
вот, я покажу то, что у меня сейчас есть
main.tpl

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<!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=windows-1251" />
<title>{title}</title>
{css}
</head>
<body>
<div id="full">
<div id="header">
<img src="https://www.cyberforum.ru/../templates/start/images/header.gif" alt="header">
</div>
<div id="main" class="main">
<div id="navigation">
{menu}
</div>
<div id="login">
<center>{login}</center>
</div>
<div id="content">
<div id="news">
<center>{name}</center><br />
<center>{photo}</center><br />
{description}<br />
</div>
</div>
</div>
<div id="footer">
<img src="https://www.cyberforum.ru/../templates/start/images/footer.gif" alt="footer">
</div>
</div>
</body>
</html>
файл index.php
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<?php
session_start();
$tmp=file_get_contents("../../templates/start/main.tpl");
$title="Головна сторінка";
$css="<link href='../../templates/start/css/engine.css' rel='stylesheet' type='text/css' />";
 
//підключаємо меню з файлу
$navigation=''; // Обнуляем переменную
function callback($s) // Эта функция будет вызываться вместо вывода данных браузеру
{
        $GLOBALS['navigation'].=$s; // Новые данные добавляем к переменной
}
ob_start('callback'); // Включаем кеширование и указываем, что вместо отправки данных клиенту, их нужно отправлять в функцию callback
include 'menu.php'; // Просто выполняем скрипт
ob_end_flush();   // Выключаем кеширование... теперь все данные будут уходить браузеру
$menu="$navigation";
 
 
//підключаємо файл входу в систему
$log=''; // Обнуляем переменную
function callback1($s1) // Эта функция будет вызываться вместо вывода данных браузеру
{
        $GLOBALS['log'].=$s1; // Новые данные добавляем к переменной
}
ob_start('callback1'); // Включаем кеширование и указываем, что вместо отправки данных клиенту, их нужно отправлять в функцию callback
include 'login.php'; // Просто выполняем скрипт
ob_end_flush();   // Выключаем кеширование... теперь все данные будут уходить браузеру
$login="$log";
 
 
include ("../../configuration/config.php");
 
$query = "SELECT * FROM main";
$result=mysql_query($query); 
$r=mysql_fetch_array($result); 
$name=$r['name'];
$photo=$r['photo'];
$description=$r['description'];
 
 
 
 
$tmp = ereg_replace("{title}", $title, $tmp);
$tmp = ereg_replace("{css}", $css, $tmp);
$tmp = ereg_replace("{menu}", $menu, $tmp);
$tmp = ereg_replace("{name}", $name, $tmp);
$tmp = ereg_replace("{photo}", $photo, $tmp);
$tmp = ereg_replace("{description}", $description, $tmp);
$tmp = ereg_replace("{login}", $login, $tmp);
echo $tmp;
?>

файл login.php
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<?
 
include ("../../configuration/config.php");
 
//=========================NOT_LOGED=====================
if ($_SESSION['id']=='')
{
echo "<form method='post' action=''>
Логін:&nbsp;<input type='text' name='login' />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Пароль:&nbsp;<input type='text' name='password' /><br />
<input type='submit' value='    Ввійти    '>
</form>
<a href='register.php'>Реєстрація</a>";
}
 
//====================================================
 
$login=$_POST['login'];
$password=$_POST['password'];
$query = "SELECT * FROM users WHERE `nick`='$login'";
$result=mysql_query($query); 
$r=mysql_fetch_array($result);
    if ($r['passwd']==$password)
        {
            $_SESSION['id']=$r['id'];
        }
    else
        {
            echo "<br />Увага!Ви не вірно ввели Логін або Пароль. Будь-ласка попробуйте ще раз!<br />";
        }
 
//==========================LOGED==================
if ($_SESSION['id']!='')
{
echo "
<a href='userinfo.php?id=".$_SESSION['id']."'>Переглянути профіль</a>";
}
?>
всё ето работает, но как я описывал выше, работает следуючим образом:
1. ввожу логин и пароль, ижму ввойти.
2. естли логин и пароль верный, то поля для логина и пароля остаются, и появляется пункт меню Переглянути профіль, ето прказывает то, что пользователь вошол(но окна для введения данных не исчезли)
3. перехожу на другую страницу, где ещё не подключен етот скрипт.
4. возращаюсь назад на index.php - всё раюотает(поля для введения данных исчезли)
5. перегружаю ету страницу, или перехожу на другую, и опять возвращаюсь назад, и что я вижу: опять появились поля для ввода данных, пункт меню для просмотра профиля исчез, что показывает то, что я уже опять не в системе(((


Подскажыте, может я что-то неправильно зделал?? или может где совершыл ошыбку(((
0
1954 / 793 / 89
Регистрация: 03.11.2009
Сообщений: 3,066
Записей в блоге: 2
19.06.2010, 10:53 8
Nazz, покажите код той страницы, после перехода на которую исчезает сессия.
0
WEB-developer
898 / 729 / 80
Регистрация: 12.03.2009
Сообщений: 2,804
Записей в блоге: 2
19.06.2010, 11:00  [ТС] 9
я вставил етот же код ещё и на вот ету страницу
offers.php
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
<?php
session_start();
$tmp=file_get_contents("../../templates/start/offers.tpl");
include ("../../configuration/config.php");
 
$o='';
$query = "SELECT * FROM offers";
$result=mysql_query($query); 
for ($i=0; $i<mysql_num_rows($result); $i++)
{
$r=mysql_fetch_array($result); 
    $name=$r['name'];
        $description=$r['description'];
            $p1=$r['min_pay'];
            $p2=$r['max_pay'];
            $pay=$p1."/".$p2;
                $ofcat=$r['offers_categories'];
                mysql_query($query) or die(mysql_error());
                $query = "SELECT * FROM offers_categories WHERE `id`='$ofcat'";
                $res=mysql_query($query); 
                $c=mysql_fetch_array($res);
                $offer_category=$c['name'];
    
if ($i==(mysql_num_rows($result)-1))
{
$offers="<tr><td width=\"150\">".$offer_category."</td><td width=\"200\">".$name."</td><td width=\"300\">".$description."</td><td width=\"200\">".$pay."грн.</td></tr>";
}
else
{
$offers="<tr><td width=\"150\">".$offer_category."</td><td width=\"200\">".$name."</td><td width=\"300\">".$description."</td><td width=\"200\">".$pay."грн.</td></tr>{offers}";
}
mysql_query($query) or die(mysql_error());
$tmp = ereg_replace("{offers}", $offers, $tmp);
}
 
 
$title="Послуги/Ціни";
$css="<link href='../../templates/start/css/engine.css' rel='stylesheet' type='text/css' />";
 
//підключаємо меню з файлу
$navigation=''; // Обнуляем переменную
function callback($s) // Эта функция будет вызываться вместо вывода данных браузеру
{
        $GLOBALS['navigation'].=$s; // Новые данные добавляем к переменной
}
ob_start('callback'); // Включаем кеширование и указываем, что вместо отправки данных клиенту, их нужно отправлять в функцию callback
include 'menu.php'; // Просто выполняем скрипт
ob_end_flush();   // Выключаем кеширование... теперь все данные будут уходить браузеру
$menu="$navigation";
 
 
 
//підключаємо файл входу в систему
$log=''; // Обнуляем переменную
function callback1($s1) // Эта функция будет вызываться вместо вывода данных браузеру
{
        $GLOBALS['log'].=$s1; // Новые данные добавляем к переменной
}
ob_start('callback1'); // Включаем кеширование и указываем, что вместо отправки данных клиенту, их нужно отправлять в функцию callback
include 'login.php'; // Просто выполняем скрипт
ob_end_flush();   // Выключаем кеширование... теперь все данные будут уходить браузеру
$login="$log";
 
 
$tmp = ereg_replace("{title}", $title, $tmp);
$tmp = ereg_replace("{css}", $css, $tmp);
$tmp = ereg_replace("{menu}", $menu, $tmp);
$tmp = ereg_replace("{login}", $login, $tmp);
 
echo $tmp;
?>
ето я зделал для того, чтобы войти можно было и с другой страницы...
всё хорошо, но когда я вхожу с первой, или же со второй страницы, и перехожу на любую другую, то после возвращения на страницы с подключеной инициализацией пользователя ввопще ничего не выводит((
потом просто перегружаю страницу с инициализацией, и опять нужно входить в систему((...
все данные просто пропадают..
вот привижу пример другой страницы, где нет инициализации, чтобы Вы
romchiksoad, увидели что и как делается на других страницах
файл clients.php
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
<?php
$tmp=file_get_contents("../../templates/start/clients.tpl");
include ("../../configuration/config.php");
 
$o='';
$query = "SELECT * FROM clients";
$result=mysql_query($query); 
for ($i=0; $i<mysql_num_rows($result); $i++)
{
$r=mysql_fetch_array($result); 
    $fio=$r['fio'];
    $adress=$r['adress'];
    $what_order=$r['what_order'];
    $last_date=$r['last_date'];
        $uid=$r['user_id'];
        mysql_query($query) or die(mysql_error());
                $query = "SELECT * FROM users WHERE `id`='$uid'";
                $res=mysql_query($query); 
                $u=mysql_fetch_array($res);
                $master=$u['nick'];
if ($i==(mysql_num_rows($result)-1))
{
$clients="<tr><td width=\"150\">".$fio."</td><td width=\"200\">".$adress."</td><td width=\"300\">".$what_order."</td><td width=\"200\"><a href='userinfo.php?id=".$u['id']."'>".$master."</td><td width=\"200\">".$last_date."p.</td></tr>";
}
else
{
$clients="<tr><td width=\"150\">".$fio."</td><td width=\"200\">".$adress."</td><td width=\"300\">".$what_order."</td><td width=\"200\"><a href='userinfo.php?id=".$u['id']."'>".$master."</a></td><td width=\"200\">".$last_date."p.</td></tr>{clients}";
}
mysql_query($query) or die(mysql_error());
$tmp = ereg_replace("{clients}", $clients, $tmp);
}
 
 
$title="Наші клієнти";
$css="<link href='../../templates/start/css/engine.css' rel='stylesheet' type='text/css' />";
 
//підключаємо меню з файлу
$navigation=''; // Обнуляем переменную
function callback($s) // Эта функция будет вызываться вместо вывода данных браузеру
{
        $GLOBALS['navigation'].=$s; // Новые данные добавляем к переменной
}
ob_start('callback'); // Включаем кеширование и указываем, что вместо отправки данных клиенту, их нужно отправлять в функцию callback
include 'menu.php'; // Просто выполняем скрипт
ob_end_flush();   // Выключаем кеширование... теперь все данные будут уходить браузеру
$menu="$navigation";
 
 
$tmp = ereg_replace("{title}", $title, $tmp);
$tmp = ereg_replace("{css}", $css, $tmp);
$tmp = ereg_replace("{menu}", $menu, $tmp);
 
echo $tmp;
?>
0
1954 / 793 / 89
Регистрация: 03.11.2009
Сообщений: 3,066
Записей в блоге: 2
19.06.2010, 11:38 10
Цитата Сообщение от Nazz Посмотреть сообщение
2. естли логин и пароль верный, то поля для логина и пароля остаются, и появляется пункт меню Переглянути профіль, ето прказывает то, что пользователь вошол(но окна для введения данных не исчезли)
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<?
 
include ("../../configuration/config.php");
 
//=========================NOT_LOGED=====================
if ( !isset ( $_SESSION['id'] ) )
   echo "<form method='post' action=''>
   Логін:&nbsp;<input type='text' name='login'    />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;
   Пароль:&nbsp;<input type='text' name='password' /><br /> 
   <input type='submit' value='    Ввійти    '>
   </form>
   <a href='register.php'>Реєстрація</a>";
else
   echo "
<a href='userinfo.php?id=".$_SESSION['id']."'>Переглянути профіль</a>";
//====================================================
 
if ( isset ( $_POST['login'], $_POST['password'] ) ) {
$login=$_POST['login'];
$password=$_POST['password'];
 
//можно сразу вытаскивать из таблицы
// и логин и пароль
//добавив в условие AND
//SELECT * FROM users WHERE `nick`='$login' AND `pass`='$password'
$query = "SELECT * FROM users WHERE `nick`='$login'";
$result=mysql_query($query); 
$r=mysql_fetch_array($result);
        if ($r['passwd']==$password)
                {
                        $_SESSION['id']=$r['id'];
                }
        else
                {
                        echo "<br />Увага!Ви не вірно ввели Логін або Пароль. Будь-ласка попробуйте ще раз!<br />";
                }
 
}
?>
А почему оно сбрасывает сессию... Я не могу сказать. Это секрет Шучу... В коде, который Вы скинули на форум нигде нету session_destroy(); или перезаписи $_SESSION['id']. На сколько я знаю, это основные причины по которым сессия может быть не доступна Или может Вы закрывали окно браузера, в котором стартовали сессию( тогда она зачищается ). Или авторизовывались в одном окне браузера( именно окне, не вкладке ), а проверяете в другом, не зависящем от того, в котором авторизовались( вот это сказал ! )
1
WEB-developer
898 / 729 / 80
Регистрация: 12.03.2009
Сообщений: 2,804
Записей в блоге: 2
19.06.2010, 11:52  [ТС] 11
ооо))) большое спасибо)) всё работает отлично)))
а вы не подскажыте как лутше зделать выход с сайта? как закрыть ету сессию, которую открыл пользователь??
0
1954 / 793 / 89
Регистрация: 03.11.2009
Сообщений: 3,066
Записей в блоге: 2
19.06.2010, 12:05 12
Можно создать файл exit.php и в нем следующий код:
PHP
1
2
3
4
5
<?php
unset( $_SESSION['id'], /*если будет несколько переменных,
то можно их все указать в этой функции */);//но это не обязательно, можно сразу написать:
session_destroy();
?>
1
WEB-developer
898 / 729 / 80
Регистрация: 12.03.2009
Сообщений: 2,804
Записей в блоге: 2
19.06.2010, 20:29  [ТС] 13
спасибо, за советы))

Добавлено через 7 часов 9 минут
создаю файл exit.php,таккак вы мне посоветовали
romchiksoad, но в результат получаю ошыбку((((
Warning: session_destroy() [function.session-destroy]: Trying to destroy uninitialized session in Z:\home\nazz.n\www\engine\eng\exit.php on line 2
0
1954 / 793 / 89
Регистрация: 03.11.2009
Сообщений: 3,066
Записей в блоге: 2
19.06.2010, 20:47 14
Nazz, Вы подключили файл к index.php? Просто, что бы удалить сессию, её нужно сначала стартовать
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.06.2010, 20:47

вход для id
Здравствуйте!!! Помогите пожалуйста реализовать такой код - что бы например люди...

вход на сайт
Сам код входа: &lt;?php session_start();// вся процедура работает на сессиях. Именно в ней...

Вход на сайт
Здравствуйте! У меня такая проблема: пытаюсь сделать авторизацию на сайт. Введенные в форму логин и...

Поля и вход
Здравствуйте, у меня есть код входа php. Но, эммм, нестыковочка - поля для входа видят уже вошедшие...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.