Buenas a todos.
Mi problema es que pierdo las variables de SESION cuando cambio de página, o lo que es lo mismo.
index.php -> aqui tengo el formulario cuya acción llama a usuarios.php que comprueba el us/pwd e inicia la sesión.
usuario.php -> comprueba el us/pwd e inicia la sesión, creo 2 variables de control y con header, vuelve a llamar a index.php .
index.php -> el código del formulario está metido en un "if" que compara si la variable de control tiene o no algo para mostrar el formulario o el típico mensaje de bienvenida.
Pues bien, cuando vuelvo a index.php después de haber iniciado la sesión, no me reconoce las variables de sesion.
¿alguna idea?
Código:
index.php
<?php
$id=session_id();;
if (empty($id)==false ){
session_name ($id);
session_call();
}
echo "<DIV id= id style='visibility:visible;overflow:hidden;position :absolute;z-index:87;left:674px;top:50px;'>";
if (strcmp($_SESSION['aut'],1) == 0){
$nom=$_SESSION['nombre'];
echo "<font face='Verdana' size='3'>Bienvenido Sr. $nom </font>";
}else{
echo "<font face='Verdana' size='2'>";
echo "<FORM NAME ='form1' METHOD ='post' ACTION = 'usuarios.php'>";
echo "<INPUT TYPE = 'TEXT' VALUE ='' STYLE='font-family: Verdana; font-size: 12px;' NAME= 'username' >";
echo "<INPUT TYPE = 'password' VALUE ='' STYLE='font-family: Verdana; font-size: 12px;' NAME = 'pwd'>";
echo "<INPUT TYPE = 'Submit' Name = 'Submit1' STYLE='font-family: Verdana; font-size: 12px;' VALUE = 'Iniciar Sesion'>";
echo "</FORM>";
echo "</font>";
}
echo "</DIV>";
?>
usuarios.php
<?php
$username = $_POST['username'];
$pwd = $_POST['pwd'];
$conexion = mysql_connect("localhost", "web", "1234");
mysql_select_db("pueblo", $conexion);
$result = mysql_query("SELECT * FROM usuarios where usu='" . $username ."' and pwd='" . $pwd . "'");
while($row = mysql_fetch_array($result)){
session_register($row['id_usu']);
session_name ($row['id_usu']);
session_start();
$_SESSION['aut']= 1;
$_SESSION['nombre']= $row['apel1'];
header('Location: index.php?id=' . $row['id_usu']);
}
mysql_close($conexion);
?>