У меня есть файл, index.php
который дает ссылку на страницу, которую я хочу, чтобы мой пользователь только иметь возможность доступа, если некоторые $var == True
,
Я хочу сделать это через массив $ GLOBALS, так как мой массив $ _SESSION уже заполняется экземплярами определенного класса, которым я хочу манипулировать в дальнейшем.
мой index.php
страница:
<?php
$var = True;
$GLOBALS["var"];
echo "<p><a href='next.php'>Click to go to next page</a></p>";
?>
мой next.php
страница:
<?php
if($GLOBALS["var"] == False)
exit("You do not have access to this page!");
else
echo "<p>You have access!</p>";
?>
В настоящее время, next.php
повторяет текст выхода. Правильно ли я обращаюсь к массиву $ GLOBALS? Или я не правильно его использую?
Спасибо!
РЕДАКТИРОВАТЬ:
Итак, я попробовал некоторые из предложений здесь. Это мой новый index.php
:
<?php
$GLOBALS["var"] = True;
echo "<p><a href='next.php'>Click to go to next page</a></p>";
?>
мой next.php
:
<?php
if($GLOBALS["var"] == False)
exit("You do not have access to this page!");
else
echo "<p>You have access!</p>";
?>
Тем не менее, я все еще сталкиваюсь с той же проблемой, где печатается оператор выхода.
Для этого гораздо лучше использовать сессии, так как они более безопасны и существуют для этой цели. Подход, который я бы порекомендовал, — это запуск нового отдельного массива сессий.
session_start();
$_SESSION['newSession']['access'] = true;
Затем для доступа к нему используйте тот же ключ / значение.
Других решений пока нет …