Hola a todos,
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:
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";
}
}
sabeis que puede ocurrir?
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!