session_register() function is generating warnings. Therefore, instead of using:
<?php
$test = 'Here';
session_register('test');
?>
It is better :
<?php
$_SESSION['test'] = 'Here';
?>
session_is_registered
(PHP 4, PHP 5 < 5.4.0)
session_is_registered — Descobre se uma variável global está registrada numa sessão
Descrição
bool session_is_registered
( string
$name
)Verifica se há uma variável global é registrada na sessão.
Parâmetros
-
name -
O nome da variável.
Valor Retornado
session_is_registered() retorna TRUE se há uma
variável global com o nome name registrado na
sessão atual, FALSE caso contrário.
Notas
Nota:
Se $_SESSION (ou $HTTP_SESSION_VARS para PHP 4.0.6 ou inferior) é usada, use isset() para checar se uma variável está registrada em $_SESSION.
Cuidado
Se você está usando $_SESSION (ou $HTTP_SESSION_VARS), não utilize session_register(), session_is_registered() e session_unregister().
amol_bhavsar1982 at hotmail dot com ¶
4 years ago
paimpozhil at gmail dot com ¶
1 month ago
For those who have an older application which uses the session_is_registered..and you want to use that in php5.4
You can just define the function if required
function session_is_registered($x)
{
if (isset($_SESSION['$x']))
return true;
else
return false;
}
May be add the checks to ensure function is not already existing..
somedude at wholikesphp dot com ¶
10 years ago
Just to elaborate for those who may be having some problems.
If you're using a newer version of PHP that comes with the register globals directive set to "off", you should heed the caution at the top of these notes. It's easier anyway.
Instead of using session_register(...) , simply use somethig like:
<?
//must always start the session first
session_start();
//in place of session register(..) use...like someone said above
$_SESSION['VARNAME'] = $something // or "something";
/* then on the same page or subsequent pages where you want check for the session use something like....
and on another page where the session hasn't been started you have to call session_start(); first, if the session has already been started you don't need to call it again */
session_start();
//instead of session_is_registered();
if(isset($_SESSION['VARNAME']))
{
print("What you want if the session var is set");
}
else
{
print("What you want if the sessions variable is not set");
}
?>
I hope this helps someone! If you want to learn more about $_SESSION and/or it's related "superglobals" try
http://www.php.net/manual/en/printwn/language.variables.predefined.php
good road!
miguel dot simoes at swirve dot com ¶
10 years ago
When using PHP 4.2.0 even on the same page where you registered the variable with:
session_register("someVar");
if you try to see if the variable is set and do not assign it a value before, the function used in the previous comment will give the same output.
This may show that the variable is declared and will not be set until some value is give assign to it.
I think that this way will give the option to register all the variables used for sure on the process on the first page and using them as the time comes.
