Не могу создать сессию

248
13 июля 2017, 02:06

Имеется код который должен авторизировать пользователя. Авторизация держится на сессиях разумеется. Только когда код отрабатывается то сессии не создаются.

# авторизація
if (isset($_POST['user']) AND isset($_POST['pass'])) {
    $id = $_POST['user'];
    $pass = $_POST['pass'];
    if (read_pass($pdo,$id,md5($pass)) == 'OK') {
        $key = md5(time().md5($pass.md5($id)));
        add_key($pdo,$id,$key);
        session_start();
        $_SESSION['key'] = $key;
        echo "logined: ".$key;
    } else {
        echo "bad password!";
    }
# вихід
} elseif (isset($_POST['exit']) AND $_POST['exit'] == 'Вихід') {
    session_start();
    unset($_SESSION['key']);
    session_destroy();
    echo "exit";
}
#header("Location: ".$_SERVER['HTTP_REFERER']);
Answer 1

переместил сессию в самое начало страницы

<?php
   session_start();
   include_once 'functions.php';
?>
<!DOCTYPE html>
<html>
<head>

а код изменил на...

#авторизація
if (isset($_POST['user']) AND isset($_POST['pass'])) {
    $id = $_POST['user'];
    $pass = $_POST['pass'];
    if (read_pass($pdo,$id,md5($pass)) == 'OK') {
        $key = md5(time().md5($pass.md5($id)));
        add_key($pdo,$id,$key);
        $_SESSION['key'] = $key;
        echo "logined: ".$key;
    } else {
        echo "bad password!";
    }
#вихід
} elseif (isset($_POST['exit']) AND $_POST['exit'] == 'Вихід') {
    unset($_SESSION['key']);
    session_destroy();
    echo "exit";
}
#header("Location: ".$_SERVER['HTTP_REFERER']);

проблема исчезла и сессия начала создаватся

READ ALSO
Почему Apache возвращает forbidden?

Почему Apache возвращает forbidden?

В корне сайта нет файлаhtaccess , присутствует index

249
Как запомнить данные, выбранные в &lt;select&gt; из MySQL

Как запомнить данные, выбранные в <select> из MySQL

Логика следующая: у меня есть форма ввода данных состоящая из

358
Архитектура приложения yii2 с админкой на angular 2

Архитектура приложения yii2 с админкой на angular 2

Как лучше устроить архитектуру приложения на базе yii2 и админкой на angular2? Пока что есть приложение yii2-basic с самим сайтом, модуль yii2 api (rest-api)

315
Кросс-доменные cookie не видит сервер

Кросс-доменные cookie не видит сервер

Скрипт на сайте http://client делает кросс-доменный ajax запрос на сервер http://serverХочу, чтобы сервер увидел cookie с этого сайта

295