С Новым годом! Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/13: Рейтинг темы: голосов - 13, средняя оценка - 4.85
0 / 0 / 0
Регистрация: 27.08.2019
Сообщений: 6

Авторизация и регистрация

30.10.2019, 12:18. Показов 2607. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Нужна помощь.
На сайте сделана регистрация и авторизация. Необходимо, чтобы, когда пользователь был авторизован, то переход на страницу website.ru/login.php (не по кнопке, а просто, введя данную ссылку в адресную строку) был либо заблокирован, либо пользователя просто перекидывало на website.ru/index.php. Иначе, если он пишет уже авторизованным "website.ru/login.php", то он становится не авторизованным и предлагается снова войти.
Заранее спасибо!
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
30.10.2019, 12:18
Ответы с готовыми решениями:

Регистрация и авторизация.
Мне необходима регистрация и авторизация пользователей на сайте. Буду пробовать делать защиту от накрутки голосования по авторизации...

Регистрация и авторизация
Помогите найти ошибку в коде а именно в header("Location:".$_SERVER); exit(); . Не хватает опыта. статья из урока Регистрация и...

Регистрация и авторизация
Всем привет. В течении недели пытаюсь настроить авторизацию с помощью социальных сетей, но постоянно сталкиваюсь с накладками. Честно...

7
88 / 66 / 24
Регистрация: 12.10.2019
Сообщений: 224
30.10.2019, 14:25
ну у тебя должны быть сессии для авторизованного пользователя.

В файле login.php должны быть проверка на присутствие переменных в сессии, которые указывают на то что, пользователь авторизован или нет!

Если не авторизован - то форма регистрации показывается
если авторизован - идет переход на страницу index.php
0
 Аватар для TolikD
117 / 81 / 36
Регистрация: 30.07.2017
Сообщений: 371
30.10.2019, 15:09
Antonio_1982, пример то надо показать человеку ))
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
session_start();
if (isset($_POST['act']))
    switch ($_POST['act']) {
        case 'auth'
            # Проверяем пароль
            if ($_POST['pass'] == '1234')
                # Запоминаем сессию
                $_SESSION['authorized'] = true;
            break;
        case 'logoff':
            # Выходим из личного кабинета
            $_SESSION['authorized'] = false;
            break;
    }
 
if (@$_SESSION['authorized']) {
?>
    Личный кабинет
    Вот ваши личные данные ....
<?php
} else {
?>
Введите пароль:
<input name="pass" type="password">
<input name="act" value="auth">
<?php
}
Добавлено через 11 минут
Что касается того, чтоб перекинуло на страницу login.php то делаешь так:

К примеру profile.php
PHP
1
2
3
4
5
<?php
session_start();
if (!@$_SESSION['authorized']) header('location: login.php');
?>
Ваши личные данные....
0
 Аватар для Iangyl
32 / 34 / 21
Регистрация: 31.03.2018
Сообщений: 495
31.10.2019, 01:45
TolikD,
Цитата Сообщение от TolikD Посмотреть сообщение
'act'
это кнопка?

Добавлено через 59 секунд
А это:
Цитата Сообщение от TolikD Посмотреть сообщение
case 'auth'
и это что?
Цитата Сообщение от TolikD Посмотреть сообщение
case 'logoff'
0
 Аватар для TolikD
117 / 81 / 36
Регистрация: 30.07.2017
Сообщений: 371
31.10.2019, 09:11
Iangyl, это набросок, а не завершенный код. Мог бы и додумать, это же всего-навсего HTML ))

Цитата Сообщение от Iangyl Посмотреть сообщение
'act' это кнопка?
Нет, это элемент формы, смотрим внимательно
HTML5
1
<input name="act" value="auth">
Цитата Сообщение от Iangyl Посмотреть сообщение
А это: case 'auth'
смотрим выше )) value="auth"

Цитата Сообщение от Iangyl Посмотреть сообщение
case 'logoff'
HTML5
1
2
3
4
<form method="post" action="login.php">
<input type="hidden" name="act" value="logoff">
<input type="submit" value="Выход из личного кабинета">
</form>
0
0 / 0 / 0
Регистрация: 27.08.2019
Сообщений: 6
31.10.2019, 17:33  [ТС]
В login.php я добавил:
PHP
1
2
3
<?php if (isset($_SESSION['logged_user']))
header('location: /index.php');
?>
И всё равно все могут зайти на страницу авторизации, даже те, кто уже авторизован. Я чего-то не понимаю, или что. Если перевести на русский, то в коде получается так: если сессия пользователя активна, то перейти на главную страницу. В итоге все равно попадаем на страницу авторизации.
0
 Аватар для TolikD
117 / 81 / 36
Регистрация: 30.07.2017
Сообщений: 371
31.10.2019, 17:51
Лучший ответ Сообщение было отмечено kirills_03 как решение

Решение

kirills_03, надо проверять не только, что сессия существует, но и значение сессии:
PHP
1
2
<?php if (isset($_SESSION['logged_user']) && $_SESSION['logged_user'] == true)
header('location: /index.php');
Добавлено через 2 минуты
Можно конечно же и так
PHP
1
2
3
<?php if (isset($_SESSION['logged_user']))
header('location: /index.php');
?>
тогда в таком случае выход из авторизации нужно делать не так $_SESSION['logged_user'] = false; , а вот так unset($_SESSION['logged_user']);

Добавлено через 9 минут
Кстати, а session_start(); включать вначале не забываете?

PHP
1
2
3
4
<?php
session_start();
if (isset($_SESSION['logged_user']) && $_SESSION['logged_user'] == true)
    header('location: /index.php');
1
0 / 0 / 0
Регистрация: 27.08.2019
Сообщений: 6
31.10.2019, 18:12  [ТС]
Спасибо огромнейшее Теперь все работает как надо)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
31.10.2019, 18:12
Помогаю со студенческими работами здесь

Авторизация(регистрация) ВК
Добрый вечер! Вот подскажите мне, в общем цель такова у меня. Сделать быструю регистрацию у себя на сайте с помощью ВК. регистрацию...

Регистрация/Авторизация
Подскажите где взять не дырявый код авторизации. И вообще какие ресурсы используете для того чтоб брать готовые какие то решения.

Регистрация и авторизация
Доброго времени суток!!! Помогите решить следующую задачу: Необходимо зарегистрировать пользователя. Внести все его данные в БД....

авторизация/регистрация/и т.д.
я могу написать приложения для авторизации и регистрации вопрос не в этом... проблема состоит в следующем: вот например пользователь...

Регистрация и авторизация пользователей
Доброго времени суток. Начал изучать веб, хочу разработать мобильное клиент-серверное многопользовательское приложение. В сети уйма...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru