Me costo entenderlo a mi tambien en sus momentos, el tema es asi:
Código PHP:
<?
session_start(); // Le indicamos a php que trabajaremos con sessiones
$_SESSION['hola']="Bienvenido invitado"; // Definimos una session
echo $_SESSION['hola']; // Devuelve 'Bienvenido invitado'
/*
Las sessiones son varialbes que se guardan en el browser, hasta que lo cerremos, (siempre suponiando que tiene activada esa opcion.
*/
?>
<?
//Archivo 2.php, recibimos la session que acabamos de definir
session_start();
echo $_SESSION['hola']; // recordamos que el valor esta en el browser, no es una global ni nada, no hay que incluir nada, solo hay que tener definida la ses
unset($_SESSION['hola']); // Borramos la var de sessiones.
?>
La segunda forma, aunq un poco mas antigua, e inflexible:
<?
session_start();
$vararegistrar="Bienvenido invitado";
session_register("vararegistrar");
?>
<?
// 2.php el que recibe la ses
session_start();
echo $vararegistrar;
session_unregister("vararegistrar"); // la borramos
/* lo que tiene de malo esta forma, es que la sesion se registra despues
de darle valor, digamos, se asigna un valor a una variable, y luegop se guarda en sesion.
a parte de q esta forma es de php4.0 y la de $_SESSION es de php 4.2
*/
?>
Espero que te haya aclarado tus dudas.