Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / сеанс авторизации php / 9 сообщений из 9, страница 1 из 1
19.04.2012, 18:01:17
    #37761637
Aleksandr G.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сеанс авторизации php
Всем привет.
Подскажите пожалуйста, у меня после авторизации происходит пере направление на "закрытую страницу", на которой
сделана форма поиска, когда я делаю поиск по этой форме, значение которое устанавливалось после успешной авторизации исчезает, и снова предлагает авторизоваться $_SESSION['AUTH_STATUS']

что я делал:

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.
<?
require("auth.php");
?>
<html>
<head>
      <title>Сторінка авторизації</title>
</head>
<?php 
require ("module_1.php");
logon();
?>
<body bgcolor="white";>

    <table width=100% height=70% align=center>
	   <tr>
	    <td align=center valign=center>
		<h3><em><u>Вхід в систему...</u></em></h3>
		 <table>
		     <tr><td align=right>
                <form action=head.php method=post>
				Імя: <input type="text" name="name"><br>
                Пароль: <input type="password" name="password"><br>
				 </td></tr>
				 <tr><td align=center>
                <input type="submit" name="submit" value="Увійти">
            </td></tr> 
		 </table>
		 </form>
		</td>
	   </tr> 
	  
    </table>
</body>
</html>



head.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.
<?php
require ("module_1.php");
require("auth.php");
logon();
?>
<?
if (!isset($_SESSION['AUTH_STATUS'])){
echo "чувак авторизуйся";
exit();
}	
?>
<html>
<body>
<table border="0" width="100%" cellpaddint="5">
	<tr>
	<form  method=post>
	<table border="0" width="100%"  height="7%" cellpaddiing="5">
	<tr>

		<td bordir="1" width="20%"></td>
		<td>
			ФІО: <input type=text name=name>
		</td>
		<td>
			Договор: <input type='text' name="contract">
		</td>
		<td>Логін: <input type='text' name="login"></td>
.....



auth.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.
<?php
session_start();
	if (isset($_POST[name]) && isset($_POST[password]))
	{
		$dblocation = 'localhost';
		$dbname = 'root';
		$dbpasswd = '111111';
		$db = 'test';
		
		$user = mysql_real_escape_string($_POST[name]);
		$pass = $_POST[password];
		
		$pwdb = @mysql_connect($dblocation,$dbname,$dbpasswd);
	    mysql_select_db($db,$pwdb);
		
		$row = mysql_query("SELECT `id` FROM sub WHERE `name`='{$user}' AND `passwd`='{$pass}' LIMIT 1") or die(mysql_error());
		
		
		 // если такой пользователь нашелся
		if (mysql_num_rows($row) == 1) 
		{
			// то мы ставим об этом метку в сессии (допустим мы будем ставить ID пользователя)
			$r = mysql_fetch_assoc($row);
		//	$_SESSION['user_id'] = $r[id];
			 $_SESSION['AUTH_STATUS'] = true;
		}else 
		{
			die("Не правильный логин или пароль...");
			break;
		}
	}
?>



Что не правильно?
Спасибо...
...
Рейтинг: 0 / 0
19.04.2012, 18:04:42
    #37761645
Hett
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сеанс авторизации php
А че бы не предлогать, если вы постоянно скрипт авторизации инклудите.
...
Рейтинг: 0 / 0
19.04.2012, 18:27:34
    #37761689
Aleksandr G.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сеанс авторизации php
если в скрипте head.php не подключу auth.php
то значение $_SESSION['AUTH_STATUS'] не определено ((
Как должно быть правильно?
...
Рейтинг: 0 / 0
19.04.2012, 18:28:22
    #37761690
Hett
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сеанс авторизации php
подключать только если не определено, например
...
Рейтинг: 0 / 0
19.04.2012, 18:42:26
    #37761726
Edd.Dragon
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сеанс авторизации php
А где функция logon()?
...
Рейтинг: 0 / 0
19.04.2012, 18:44:04
    #37761728
Edd.Dragon
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сеанс авторизации php
Так же, опишите своими словами назначение и функции модуля auth.php.
Да и остальных тоже - раз вы их показываете.


Что за привычка: "Вот код! Что не так?"?
Ничо не так.
...
Рейтинг: 0 / 0
19.04.2012, 18:53:00
    #37761761
Aleksandr G.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сеанс авторизации php
ок, я понял.
login.php в этом скрипте "нарисована" форма ввода логина и пароля, дабы не "лепить" код необходимый для проведения авторизации в начало каждой защищенной страницы, я вывел этот код в отдельный, так называемый модуль и потом его подключаю к страницам которые необходимо защитить.

Функция logon() прорисовывает логотип, она должна отрабатываться не зависимо от того - прошел пользователь авторизацию или нет, она находится в модуле module_1.php.
...
Рейтинг: 0 / 0
19.04.2012, 19:14:35
    #37761800
Edd.Dragon
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сеанс авторизации php
Ок. Допустим, что под "снова предлагает авторизоваться" имелся ввиду вывод сообщения "чувак авторизуйся", а не повторная выдача формы логина. Хотя это все надо как-то четче, очевиднее писать. Не умеешь четко, понятно для совершенно левых людей, описать проблему - не сумеешь найти ее причину.

Хорошо. Что мешает, на каждом ключевом этапе воспользоваться тем же echo или vardump, чтобы не играть в угадайки?
Есть IF, который что-то проверяет. Ну так выведите и себе (клиенту) то, что он проверяет!

Вот говорите " значение которое устанавливалось после успешной авторизации исчезает ". А с чего вообще уверенность, что оно устанавливалось? С чего увереность, что код выполнялся? Проверте. Там же есть условия. Вот и выведите то, что эти условия проверяют. Или меток наставьте "вошли туда-то" и т.д. И посмотрите, что на самом деле происходит. Откуда ж уверенность, что "первая часть" кода работает правильно, а флажок испарился неизвестным образом?


P.S.: Почему в html ни один атрибут не взят в кавычки? Скармливайте периодически html-ы валидатору и исправляйте недочеты.
...
Рейтинг: 0 / 0
20.04.2012, 11:11:45
    #37762521
Aleksandr G.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сеанс авторизации php
Edd.Dragon,
Вот говорите "значение которое устанавливалось после успешной авторизации исчезает ". А с чего вообще уверенность, что оно устанавливалось?

Я устанавливал метку после успешной авторизации, выводил эту метку на защищенной странице с помощью echo, а после выполнения формы закрытой страницы, эта метка исчезала
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / сеанс авторизации php / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]