Как хранить данные для использования на всех страницах? - PullRequest
0 голосов
/ 18 мая 2018

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

На самом деле, имя входа вызывает функцию вмодель, в которой он проверяет, существует ли пользователь, и, если это так, он возвращает данные, полученные в запросе, в контроллер, а затем контроллер вызывает require_once ("example.php"), который позволяет мне использовать данные для его печатина экране, но если я переключаю страницу, данные теряются, потому что они не были вызваны, как это (было упрощено):

Контроллер

function example() {
    $exampleUser = $_POST['username'];
    $examplePass = $_POST['password'];
    $example = new example_model();
    $exampleResults= $example->do_example($exampleUser, $examplePass);
    require_once("example1.php");
}

Модель

function do_example($exampleUser, $examplePass) {
    $exampleResults = mysqli_fetch_assoc($connection->query("SELECT * FROM users WHERE username = '$exampleUser' AND password = '$examplePass'");
return $exampleResults;
}

Просмотр example1.php

<?php
    echo $example['username'];
    // RESULTS IN DISPLAYING "ExampleName"
?>

Просмотр example2.php

<?php
        echo $example['username'];
        // ERROR BECAUSE IT DOESN'T HAVE THE DATA STORED ANYMORE
        // AND I DON'T WANT TO CALL A FUNCTION TO GET THE DATA FOR THE USER AGAIN AFTER EACH PAGE CHANGE
?>

Я думал использовать переменные $ _SESSION для хранения данных, которые мне нужны отВы вошли в систему, так что я могу использовать его на всех страницах (в основном это имя и идентификатор), и это сработало до сих пор, но мне интересно, является ли это хорошей практикой или есть лучшая?Или как хранить данные, полученные при входе в систему, чтобы без проблем использовать их на всех страницах?

1 Ответ

0 голосов
/ 18 мая 2018

Для этого вам нужно использовать php-сессии

// инициировать сессию на всех страницах

session_start():

После того, как вы получите массив $ _SESSION VARIABLES навсе страницы, где инициируется seasion.

Чтобы определить переменную, вы используете тот же синтаксис, что и для ассоциативного массива:

$_SESSION['name'] = value ; 

Когда закончите, уничтожьте сеанс с помощью

session_destroy();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...