Tengo un codigo para registrar variables de sesion y usarlas en un sitio web, y funciona bien PERO necesito implementarlo en un nuevo servidor, y en este las variables de sesion no se quedan.. (el mismo codigo que si funciona en otro servidor).
Uno tiene PHP 4.10-16 y otro 4.11. La unica diferencia es que el nuevo servidor, donde me da problemas, no soporta bases de datos, y el primero si, mysql.
La manera que uso es algo tal que asi:
Código:
sabeis que puede ocurrir?if ($_POST['Opcion'] == "Registrar") { $_SESSION['usuario'] = $_POST["Texto"]; echo "<BR>Usuario registrado ". $_POST["Texto"]; } if ($_POST['Opcion'] == "Desregistrar") { unset($_SESSION['usuario']); echo "<BR>Usuario desregistrado"; } if ($_POST['VerVar']) { if (isset($_SESSION['usuario'])) { echo "<BR>El usuario registrado es ". $_SESSION['usuario']; } else { echo "<BR>El usuario no esta registrado"; } }
en el nuevo servidor despues de registrar la variable, la intento verificar y no se ha quedado. Es como si no se hubiera registrado...
(tambien he probado con la forma vieja de session_register() y tal, y lo mismo).
He descubierto que ocurre porque cada vez que refresco la pagina, cambia el session_id, cosa que SOLO ocurre con el nuevo servidor.
Al principio del script llamo a session_start();
Porque funciona bien en un servidor, y en este ultimo cambia todo el rato la sesion?? perdiendo por tanto las variables registradas...
Gracias!