Bueno . .además del problema de seguridad que indicas .. en tu caso particular .. estabas mezclando dos métodos .. tal que tu código no funcionaría en register_globals = ON
En resumen . debes usar los arrays superglobales: $_SESSION .. $_POST ... $_GET .. etc. Si asocias que $_SESSION es un array común .. con la propiedad de que al usarlo junto con "session_start()" tiene la particularidad de manter esos datos por el tiempo que dure tu sesión .... Usalo como se de un array común se tratase:
Esto que usabas:
//declare two session variables and assign them
$GLOBALS['MM_Username'] = $loginUsername;
$GLOBALS['MM_UserGroup'] = $loginStrGroup;
$GLOBALS['MM_NameUser'] = $loginStrNameUser;
$GLOBALS['MM_NameSec'] = $loginStrSecUser;
//register the session variables
session_register("MM_Username");
session_register("MM_UserGroup");
session_register("MM_NameUser");
session_register("MM_NameSec");
Sería:
$_SESSION['MM_NameUser']=$loginUsername;
y así con todas .. (sin usar $GLOBALS ni nada más .. directamente). De hecho recuerda lo que te mencionaba sobre los arrays supeglobales . .no sólo sirven para $_SESSION (sesiones) .. también para variables que envias por un formulario .. por method= POST o GET . .por el URL .(GET) .. etc... Usalos!. (en las primeras FAQ's de este foro PHP tienes una sobre esto).
Un saludo, |