I have a $_SESSION["id"]="123";
and access it directly like this:
echo $_SESSION["id"];
If I use
session_name(md5("seg".$_SERVER["REMODE_ADDR"].$_SERVER["HTTP_USER_AGENT"]));
How do I access or set the session?
I have a $_SESSION["id"]="123";
and access it directly like this:
echo $_SESSION["id"];
If I use
session_name(md5("seg".$_SERVER["REMODE_ADDR"].$_SERVER["HTTP_USER_AGENT"]));
How do I access or set the session?
If you only use session_name()
it will return the current session name. When you create a name for session_name($name)
it will overwrite the current session name and return the old name.
So when you give a name to the session:
session_name(md5("seg".$_SERVER["REMODE_ADDR"].$_SERVER["HTTP_USER_AGENT"]));
And he wants to rescue her. Just do this:
$nomeDaSessao = session_name();
Take a look at the manuel
The session name refers to the session name, which is used in cookies and URLs (for example, PHPSESSID). It should contain only characters alphanumeric; it should be short and descriptive (for users with cookie warnings enabled). If name is entered, the session name current value is changed to the new value.
EDIT
page1.php
// a variável ficará com o nome da antiga sessao PHPSESSID
$sessao_antiga = session_name("teste"); // alterei o PHPSESSID para teste
session_start(); // inicio a sessao
$session_name_new = session_name(); // recupero o nome da atual
echo "O nome da sessão é ".$session_name_new."<br>"; // mostro o nome da atual
echo "Mas o nome da sessão antes era ".$sessao_antiga."<br>"; // mostro o nome da antiga
$_SESSION['id'] = "123"; // abro uma sessão com o nome id
if(isset($_SESSION['id'])){ // verifico se existe a sessao
echo "A sessão com a chave 'id' existe! O valor dela é ".$_SESSION['id']; // mostro uma msg
}
The above example will return:
O nome da sessão é teste
Mas o nome da sessão antes era PHPSESSID
A sessão com a chave 'id' existe! O valor dela é 123
Note that when you change the session name, you change the PHPSESSID cookie, and bind the other sessions to this name. It is important to note that this change has to be made BEFORE session_start()
.
However, for you to retrieve these keys in each script, you will need to change the session name also on the other pages. So:
page2.php
session_name("teste");
session_start();
if(isset($_SESSION['id'])){
echo "A sessão 'id' Existe!";
}
The above example will return:
The 'id' session exists!