Foros del Web » Programando para Internet » PHP »

Problema con las session y registro

Estas en el tema de Problema con las session y registro en el foro de PHP en Foros del Web. Hola tengo el siguiente problema despues de ejecutar autentificacion.php, me sale el mensaje como que me he logueado correctamente, pero luego al volver a inicio.php ...
  #1 (permalink)  
Antiguo 14/11/2008, 09:34
 
Fecha de Ingreso: octubre-2008
Mensajes: 64
Antigüedad: 15 años, 5 meses
Puntos: 0
Problema con las session y registro

Hola tengo el siguiente problema despues de ejecutar autentificacion.php, me sale el mensaje como que me he logueado correctamente, pero luego al volver a inicio.php no me reconoce la session...

alguien ve el posible fallo? hasta ase un momento la reconocia, pero ahora no no se si me falta algo o ke :S

Autentificacion.php

Código HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Documento sin t&iacute;tulo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="estilos.css">
</head>

<?php session_start(); ?>

<body>
<div id="frame">
<?php

// Conectar a la base de datos
mysql_connect ("localhost","root", "");
mysql_select_db(registro) or die('Cannot select database');

$username=$_POST['username'];
$password=$_POST['password'];
if (($password==NULL) || ($username==NULL)) 
{
	echo "La password y/o el usuario no fueron enviada";
}
else
{
	$query = mysql_query("SELECT nick,password FROM usuarios WHERE nick = '$username'") or die(mysql_error());
	$data = mysql_fetch_array($query);
	if($data['password'] != $password) 
	{
		echo "Login incorrecto";
	}
	else
	{
		$query = mysql_query("SELECT nick,password FROM usuarios WHERE nick = '$username'") or die(mysql_error());
		$row = mysql_fetch_array($query);
		$_SESSION["s_username"] = $row['nick'];
		echo "Has sido logueado correctamente ".$_SESSION['s_username']." y puedes acceder al index.php.";
	}
}
?> 
</div>

</body>
</html> 

Inicio.php:

Código HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Documento sin t&iacute;tulo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="estilos.css" >

</head>

<?php session_start();?> 

<body>

<div id="frame">
<p>
		<form name="form1" method="post" action="autentificacion.php">
    	Nombre de usuario: 
    	<input type="text" name="username">
		Contrase&ntilde;a:
		<input type="text" name="password"> 
		<input type="submit" name="Submit" value="Identificarse"> 
 		</form>
<?php
// Conexión a la base de datos
mysql_connect ("localhost", "root", "");
mysql_select_db(registro) or die("Cannot select database"); 
if (isset($_SESSION['s_username'])) 
{	
		echo "Estas logueado";
}
else
{
	echo "No estas logueado";
} 

?>
</p>
</div>
</body>
</html> 

Edito: Ahora ya no me da problemas... y que yo sepa sin tocar nada? suele haber problemas con las variable session? tengo que ponerle algun atributo del tipo tiempo de vida o algo?

Última edición por sioke; 14/11/2008 a las 09:39
  #2 (permalink)  
Antiguo 18/11/2008, 14:25
 
Fecha de Ingreso: octubre-2008
Mensajes: 42
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: Problema con las session y registro

Hola Sioke, la session_start se coloca antes de html, al principio del documento por ejemplo:

<?php
session_start();
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
.....
a mi me funciona así, espero te ayude.
Saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:12.