Войти как Popup в index.php - как я могу использовать переменные сессии после входа в index.php? - PullRequest
0 голосов
/ 15 мая 2018

У меня проблема. Я интегрировал форму входа в index.php как всплывающее окно. После отправки требуется login.php, где вводимые значения контролируются, являются ли они правильными. Если эти значения верны, выбираются некоторые данные базы данных. Как я могу использовать эти данные? Я не могу получить, ни повторить переменные сеанса после входа в систему, так или иначе. Что нужно исправить / добавить? Я попытался обновить index.php после входа в систему, но ничего не происходит. Для целей тестирования я хочу, чтобы переменная $ firstname отображалась в теле index.php после входа в систему. Как мне этого добиться?

Код-фрагмент index.php

<?php 
ob_start();
require 'db.php';
session_start();
?>
<!DOCTYPE html>
<html>
<head>
<title>Popup</title>
<?php include 'css/css.html';?>
</head>

<?php 
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    if (isset($_POST['login'])) { //user logging in
        require 'login.php';
    }
    elseif (isset($_POST['register'])) { //user registering
        require 'register.php';
    }
}

login.php

<?php
$email = $mysqli->escape_string($_POST['email']);
$result = $mysqli->query("SELECT * FROM users WHERE email='$email'");

if ( $result->num_rows == 0 ){ // User doesn't exist
    $_SESSION['message'] = "Kein Nutzer mit dieser E-Mail-Adresse existiert!";
    header("location: error.php");
}
else { // User exists
    $user = $result->fetch_assoc();

    if ( password_verify($_POST['password'], $user['password']) ) {
        $_SESSION['email'] = $user['email'];
        $_SESSION['first_name'] = $user['first_name'];
        $_SESSION['last_name'] = $user['last_name'];
        $_SESSION['active'] = $user['active'];

        // Logged in?
        $_SESSION['logged_in'] = true;
        header('refresh:1; url=index.php');
    }
    else {
        $_SESSION['message'] = "Falsches Passwort: versuche es erneut!";
        header("location: error.php");
    }
}
...