script "control.php" que comprueba si existe el user y pass, y si existe crea la sesión con el dni del usuario
Código PHP:
<?PHP
$user = $_POST["dni"];
$pass = $_POST["clave"];
mysql_select_db($database_conex, $conex);
$query_consulta = "SELECT * FROM clientes WHERE dni='$user' and clave='$pass'";
$consulta = mysql_query($query_consulta, $conex) or die(mysql_error());
$totalRows_consulta = mysql_num_rows($consulta);
//Vemos si el usuario y contraseña es válido
if (mysql_num_rows($consulta)!= 0)
{
//usuario y contraseña válidos
session_start();
session_register('cliente');
$_SESSION['cliente'] = $_POST["dni"];
exit();
}
...
?>
script "saludo.php" donde se redirige cuando el usuario logeado existe en la BD. Entre otras cosas se quiere mostrar el valor de la variable de sesión.
Código PHP:
session_start();
$uss = $_SESSION['cliente'];
// a continuación utilizo la variable $uss para mostrar su contenido en la web entre otras cosas
...
Inspeccionando en la carpeta "sessions" que defines en la configuración de PHP donde se guardan las sesiones, me doy cuenta que se crean dos ficheros de sesiones cuando se invoca a la función "session_start()", una por cada script. Un fichero de sesion vacío que no contiente nada (correspondiente a la invocación de session_start en "saludo.php") y otro fichero de sesión con el valor correcto del cliente (correspondiente a la invocación de session_start en "control.php"). Por tanto, intenté omitir la invocación a session_start en "saludo.php" pero es inevitable invocarla si quieres utilizar la variable de sesión ya inicializada en "control.php".
Ya he probado todo, pero no sé que puede estar sucediendo, nunca me había pasado esto. No sé si tiene algo que ver que utilizo los scripts PHP a través de las páginas en Flash con las funciones "sendAndLoad", "load" o "getUrl", pero no creo que tenga relación.
Si alguien tiene alguna idea, se lo agradecería porque ya no sé que hacer.
Gracias y saludos!!!