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

Не работает сессия при авторизации,не могу понять почему ?*

12.06.2017, 20:00. Показов 1032. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Создал класс сессию
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
<?php
namespace Modules;
class Session
{
    private $logged_in = false;
    public $user_id;
 
    //Session start and check logged in
    public function __construct()
    {
        session_start();
        $this->checkLogin();
        if ($this->logged_in) {
            // actions to take right away if user is logged in
        } else {
            // actions to take right away if user is not logged in
        }
    }
 
    //session destroy
    public function __destruct()
    {
        session_destroy();
    }
 
    // Check if User log in
    public function isLoggedIn()
    {
        return $this->logged_in;
    }//true
 
    //check if some one log in from page
    public function login($user)//true
    {
        // database should find user based on username/password
        if ($user) {
            $this->user_id = $_SESSION['user_id']=$user->id ;
            $this->logged_in = true;
        }
    }
 
    //unset out user_id
    public function logout()//true
    {
        unset($_SESSION['user_id']);
        unset($this->user_id);
        $this->logged_in = false;
    }
    // check for user_id accept
    private function checkLogin()
    {
        if (isset($_SESSION['user_id'])) {
            $this->user_id = $_SESSION['user_id'];
            $this->logged_in = true;
        } else {
            unset($this->user_id);
            $this->logged_in = false;
        }
    }//true
}
Страница логина
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
<?php
require_once ('../../vendor/autoload.php');
require_once ('../../includes/functions.php');
$session= new \Modules\Session();
$database= new \Modules\MySqlDatabase();
$object= new \Modules\User();
if($session->isLoggedIn()) {
    redirect_to("index.php");
}
 
// Remember to give your form's submit tag a name="submit" attribute!
if (isset($_POST['submit'])) { // Form has been submitted.
 
    $username = cleanStr($_POST['username']);
    $password = cleanStr($_POST['password']);
 
    // Check database to see if username/password exist.
    $found_user = $object->authenticate($username, $password);
 
    if ($found_user) {
        var_dump($session->login($found_user));
        redirect_to("index.php");
    } else {
        // username/password combo was not found in the database
        $message = "Username password are incorrect.";
    }
 
} else { // Form has not been submitted.
    $username = "";
    $password = "";
}
Собственно , с бд все нормально проходит. Перехожу на страницу но выводит NULL:
PHP
1
var_dump($session->login($found_user));
И если я не закоментирую обратный редирект с закрытой страницы, меня вечно редиректит назад на логин
Стр. куда иду после ввода логина и после чего реконектит назад:
PHP
1
2
3
4
5
6
require_once ("../../vendor/autoload.php");
require_once ("../../includes/functions.php");
$session = new \Modules\Session();
var_dump($session->isLoggedIn());
if (!$session->isLoggedIn()) { redirect_to("login.php"); }
?>
Собственно подскажите, в чем может быть проблема и правильно ли я вообще делаю? Если нет, как лучше сделать ?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.06.2017, 20:00
Ответы с готовыми решениями:

Не могу понять почему не работает. Создаю игру Пятнашки. И ничего у меня не работает. И ошибки при запуске выдает
Не могу понять почему не работает. Создаю игру Пятнашки. И ничего у меня не работает. И ошибки при запуске выдает. Вот, подскажите...

Не могу понять почему код не работает так, как нужно. При выводе weight не выполняется функция void eat(float how_much)
#include &lt;iostream&gt; #include &lt;string&gt; using namespace std; class Worker { private: float weight; public: void a(int...

Не могу понять, почему программа работает неправильно( Знаю, что где-то ошибки, но не могу найти
{Ввести последовательность натуральных чисел Aj j=1...n (n&lt;=1000). Упорядочить последовательность по неубыванию наименььшей цифры...

1
313 / 312 / 221
Регистрация: 11.07.2015
Сообщений: 1,107
20.06.2017, 19:25
Нужно проверить функцию isLoggedIn

Добавлено через 3 минуты
функция login ничего не выдает, var_dump в 21 строке лишний
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.06.2017, 19:25
Помогаю со студенческими работами здесь

Не работает изменение, не могу понять почему, Update не работает, ошибку выдает
Помогите, изменение с помощью button string u = заявкиDataGridView.CurrentRow.Cells.Value.ToString(); ...

Не могу понять почему не работает (или правильно не работает)
#include &lt;iostream.h&gt; #include &lt;conio.h&gt; #define N 5 #define M 3 void main() { int a; int i,j; cout&lt;&lt;&quot;nachalnya...

Не могу понять почему не работает
#include &lt;iostream.h&gt; void main() {int a; int i,min,k; i=1; do { cout&lt;&lt;&quot;A=&quot;; cin &gt;&gt; a; i=i+1;} while...

Не могу понять почему не работает
#include &lt;iostream&gt; #include &lt;string&gt; using namespace std; const int arrSize = 15; int main() { string Phone; ...

Не могу понять почему не работает
Суть програмы в тому чтобы украинский текст транслитерировать английскими буквами. Пользователь должен ввести текст на украинском языке, а...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru