session_id ("temp");
Eso no es correcto .. o por lo menos según el enfoque que pareces darle.
Si quieres definir un nombre (no el por defecto) de una sesión en PHP debes usar la función:
session_mame()
www.php.net/session_mame
(y si lo usas .. tendrás que definirlo en todos los scripts que usen sesiones y antes de session_start() ..)
El uso de los arrays superglobales $_SESSION es correcto ..
Lo que si que puedes tener diferencias es como se propaga el SID .. TU en tu código "asumes" que se propagará automáticamente .. ¿cómo? .. no sé, .. por el URL o cookies (en principio por tu código y link que indicas .. se podría hacer por cualquier forma). Revisa tu configuración de PHP y confirma como propagas el SID según configuración; directivas:
session.use_trans_sid
session.use_cookies
session.use_only_cookies
etc ..
Eso sí .. no uses:
if ($_SESSION) {
usa:
Código PHP:
if (!empty($_SESSION)){
para ese tipo de validaciones.
Un saludo,