Использование сеансов для систем входа в PHP. Во всех примерах входа люди используют функцию «session_start()
». Но я смутился об этом.Система входа в PHP с сеансами
=================================
На локальном хосте у меня есть файлы;
http://localhost/app1/page1.php
http://localhost/app1/page2.php
http://localhost/app2/page2.php
=============================== ==============
В app1/page1.php
, я запускаю сеанс и устанавливаю переменную.
session_start();
session_regenerate_id(true);
$_SESSION[ 'name' ] = 'this is my name';
=========================================== ==
В app1/page2.php
и app2/page2.php
, я запускаю сеанс и получаю значение этой переменной.
session_start();
echo 'name: ' . $_SESSION[ 'name' ];
=========================================== ==
Открыт http://localhost/app1/page1.php, а затем http://localhost/app1/page2.php и он отлично работает. Но после этого я открываю http://localhost/app2/page2.php, а также на экране отображается «это мое имя», и это неправильно. Потому что это другое приложение, и я не хочу, чтобы приложение2 достигало сеанса приложения1.
Как я могу решить эту проблему? Я не хочу использовать разные имена переменных для каждого приложения. Думаю, должно быть другое хорошее решение. Я могу восстановить ID на app2/page1.php, возможно, но если человек пытается открыть app2/page2.php, после открытия приложения 1 они могут попасть в приложение2, и это не станет для меня хорошим.
спасибо.
+1, бил меня к нему. –
Ну, я думаю, Рассел Диас избил меня.+1 к нему тоже :) – Bogdan
В качестве альтернативы, если приложениям когда-либо понадобится поделиться некоторыми данными, просто укажите пространства для конкретных приложений в '$ _SESSION' (то есть' $ _SESSION ['app1'] ['x'] 'и '$ _SESSION [ 'app2'] [ 'х'] '.) –