powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Помогите с авторизацией
6 сообщений из 6, страница 1 из 1
Помогите с авторизацией
    #38644086
Фотография Alex721
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Делаю админку на сайте.
Необходимо организовать страницу авторизации.

Саму страницу сделал как в спойлере, проверка совпадения логина/пароля проходит успешно.
Но что делать дальше, когда проверка пароля прошла?
Как запомнить сессию и проверять ее на других страницах?


Код: 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.
<?
ini_set('display_errors',1);
error_reporting(E_ALL);
echo '<h1>Вход</h1>';
// Страница авторизации

# Функция для генерации случайной строки
function generateCode($length=6) {
    $chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHI JKLMNOPRQSTUVWXYZ0123456789";
    $code = "";
    $clen = strlen($chars) - 1;  
    while (strlen($code) < $length) {
            $code .= $chars[mt_rand(0,$clen)];  
    }
    return $code;
}
include "../adm2/conf.php";

if(isset($_POST['submit']))
{
    # Вытаскиваем из БД запись, у которой логин равняеться введенному
    $query = mysql_query("SELECT user_id, user_password FROM users WHERE user_login='".mysql_real_escape_string($_POST['login'])."' LIMIT 1");
    $data = mysql_fetch_assoc($query);
    
    # Сравниваем пароли
    if($data['user_password'] === md5($_POST['password']))
    {
 






             
        # Переадресовываем браузер на страницу проверки нашего скрипта
       
	#header("Location: ../adm2/check.php"); 
 print "Входим...";
	exit();
    }
    else
    {
        print "Вы ввели неправильный логин/пароль";
    }
}

?>
<form method="POST">
Логин <input name="login" type="text"><br>
Пароль <input name="password" type="password"><br>
Не прикреплять к IP(не безопасно) <input type="checkbox" name="not_attach_ip"><br>
<input name="submit" type="submit" value="Войти">
</form>




Пробовал вставлять сессию, ругается на неизвестную функцию:
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
start_session();
$_SESSION['auth']['user_login'] =  $_SERVER['PHP_AUTH_USER'];
$_SESSION['auth']['user_password'] =  $_SERVER['PHP_AUTH_PW'];

if(isset($_SESSION['auth']['user_login']) && isset($_SESSION['auth']['user_password'])){


echo 'Авторизация успешна!';

if($_POST['exit'])
unset($_SESSION['auth']);
}else{
echo 'fail!';
}   




.../((
'(◔̯◔)
¸╱▓╲¸
._/ I_
...
Рейтинг: 0 / 0
Помогите с авторизацией
    #38644096
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex721ругается на неизвестную функцию:
Код: php
1.
start_session();

Возможно, Вы имели в виду другую функцию?
...
Рейтинг: 0 / 0
Помогите с авторизацией
    #38644103
Фотография Alex721
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: 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.
<?
ini_set('display_errors',1);
error_reporting(E_ALL);
echo '<h1>Вход</h1>';

include "../adm2/conf.php";

session_start();

if(isset($_POST['submit']))
{
    # Вытаскиваем из БД запись, у которой логин равняеться введенному
    $query = mysql_query("SELECT user_id, user_password FROM users WHERE user_login='".mysql_real_escape_string($_POST['login'])."' LIMIT 1");
    $data = mysql_fetch_assoc($query);
    
    # Сравниваем пароли
    if($data['user_password'] === md5($_POST['password']))
    {
 

$_SESSION['login'] = 'ok');


/* if(isset($_SESSION['login']))
{
  print "ok";
}
else
{
  print "false";
}

*/

             
      #header("Location: ../adm2/check.php"); 
 print "Добро пожаловать, " .$_POST['login'];
	exit();
    }
    else
    {
        print "Вы ввели неправильный логин/пароль";
    }
}

?>
<form method="POST">
Логин <input name="login" type="text"><br>
Пароль <input name="password" type="password"><br>
Не прикреплять к IP(не безопасно) <input type="checkbox" name="not_attach_ip"><br>
<input name="submit" type="submit" value="Войти">
</form>


vkle, спасибо за ответ.

пробую так.
если строку ( $_SESSION['login'] = 'ok'); ) закомментировать, то
идут такие варнинги:
авторWarning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /home/u834689273/public_html/adm2/login.php:4) in /home/u834689273/public_html/adm2/login.php on line 18

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/u834689273/public_html/adm2/login.php:4) in /home/u834689273/public_html/adm2/login.php on line 18
если эту строку не комментировать, то не работает вообще.
что не так?
...
Рейтинг: 0 / 0
Помогите с авторизацией
    #38644104
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Помогите с авторизацией
    #38644118
Фотография Alex721
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
перенес session_start(); в самый верх и частично заработало.
дальше думаю разберусь.
спасибо!
...
Рейтинг: 0 / 0
Помогите с авторизацией
    #38644843
Sanjar88
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
$query = sprintf( "SELECT user_id, user_password FROM users WHERE user_login='%s' LIMIT 1",
mysql_real_escape_string($_POST['login']));

$result = mysql_query($query);
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Помогите с авторизацией
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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