Как получить переменные после включения функции в PHP - PullRequest
0 голосов
/ 09 февраля 2019

Я добавил пользовательское ограничение на страницу с помощью функции include, но это действие очищает мои переменные, поэтому после входа в систему результаты не отображаются из-за этого, как я могу сохранить переменные в сценарии?Я думал, что сессия была подходящей, но она не работает.

<?php
$trim=$_POST['trim'];
$estu=$_POST['estu'];
session_start();
$_SESSION['trim'] = $trim;
$_SESSION['estu'] = $estu;

if($trim == "RJ") {
echo "<h2>Login required!</h2>";
include ("../admin/accesusers.php");
}

$trim = $_SESSION['trim'];
$estu = $_SESSION['estu'];
echo "Your choices are ".$trim." and ".$estu; 
?>

Таким образом, вывод последнего эха ... Ваш выбор и ... потому что переменные не извлекаются, когда$trim == "RJ" другие результаты хороши, например Вы можете выбрать T1 и 3323

file accesusers.php:

<?php
$db = new mysqli('localhost','usr','pass','Dbase');
include_once("login.php");
$_auth = new auth($db); // Anything past here is logged in
$username = $_auth->getUsername();
?>

В файле login.php единственная переменная, в которой упоминается SESSION - это та, может ли она быть в беспорядке?

define('LOGIN_SESSION_EXPIRED',-8);
....
LOGIN_SESSION_EXPIRED=>'<br /><h3>Your session is outdated!</h3>',
....
die($this->form(LOGIN_SESSION_EXPIRED,'signin'));

1 Ответ

0 голосов
/ 10 февраля 2019

Хорошо, я наконец-то решил.Я понял, что только когда include() находится внутри if, переменные теряются, а также, что $_SESSION должен получать значение из $_POST, а не из переменной ($trim) для распространенияэто значение;поэтому я сделал обходной путь следующим образом:

Файл 1.php :

<?php
$trim = $_POST['trim'];
$estu = $_POST['estu'];
if($trim == 'RJ') {
        header( 'Location: 2.php' ) ;
        session_start();
$_SESSION['estu'] = $_POST['estu'];
$_SESSION['trim'] = $_POST['trim'];
} else {
echo "<p>Your choices are ".$trim." and ".$estu."</p>";
}
?>

Файл 2.php :

<?php
session_start();
$estu = $_SESSION['estu'];
$trim = $_SESSION['trim'];
echo "<h2>Login required!</h2>";
include ("../admin/accesusers.php");
echo "<p>Your choices are ".$trim." and ".$estu."</p>";
?>

Итак, теперь вывод " Ваш выбор: RJ и 3323 "

...