Foros del Web » Programando para Internet » PHP »

ayuda con login php

Estas en el tema de ayuda con login php en el foro de PHP en Foros del Web. tengo una pagina de login en php para un sitio, y que cuando se este loggeado correctamente pero quiero que cada pagina del sitio solo ...
  #1 (permalink)  
Antiguo 23/05/2009, 14:16
 
Fecha de Ingreso: octubre-2008
Mensajes: 31
Antigüedad: 15 años, 6 meses
Puntos: 0
ayuda con login php

tengo una pagina de login en php para un sitio, y que cuando se este loggeado correctamente pero quiero que cada pagina del sitio solo se pueda accesar si se esta loggeado y si no se esta loggeado que lo redireccione a la pagina de login, mi codigo es este

entra.html
Código HTML:
 <FORM name="FORM1" method="post" action="entra.php">
  
			USUARIO
			<INPUT type=text name="username">

			CONTRASEÑA
			<INPUT type=password name="password">

		        <INPUT type="submit" value="Enviar" > 

entra.php

Código PHP:
<?
// Configura los datos de tu cuenta
$dbhost='localhost';
$dbusername='root';
$dbuserpass='pass';
$dbname='scme';

session_start();

// Conectar a la base de datos
mysql_connect ($dbhost$dbusername$dbuserpass);
mysql_select_db($dbname) or die('Cannot select database');


if (
$_POST['username']) {
//Comprobacion del envio del nombre de usuario y password
$username=$_POST['username'];
$password=$_POST['password'];
if (
$password==NULL) {
echo 
"La password no fue enviada";
}else{
$query mysql_query("SELECT name_user,password FROM users WHERE name_user = '$username'") or die(mysql_error());
$data mysql_fetch_array($query);
if(
$data['password'] != $password) {
echo 
"Login incorrecto";
}else{
$query mysql_query("SELECT name_user,password FROM users WHERE name_user = '$username'") or die(mysql_error());
$row mysql_fetch_array($query);
$_SESSION["s_username"] = $row['username'];
echo 
"Has sido logueado correctamente ".$_SESSION['s_username']." y puedes acceder al index.php.";
}
}
}  
?>

en las demas paginas les pongo el siguiente codigo al inicio para que solo se pueda entrar si ya se han loggeado

<?
session_start();
if(!isset($_SESSION['username']))header("location: entra.html");
?>


sin embargo tengo un problema ya que aunque ya este logeado siempre me manda a la pagina de entra.html

ojala y alguien me pueda ayudar, saludos
  #2 (permalink)  
Antiguo 23/05/2009, 16:04
 
Fecha de Ingreso: diciembre-2008
Mensajes: 54
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: ayuda con login php

me parece que es poruqe preguntas por session["username"] siendo que si encuentras el usuario en la base de datos registras session ["s_username"] entonces por mas que estes loggeado o no nunca encuentra session["username"]

if(!isset($_SESSION['username']))header("location: entra.html");
lo cambias por

if(!isset($_SESSION['s_username']))header("location: entra.html");
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 13:46.