Foros del Web » Programando para Internet » PHP »

por que la primera vez el login no me valida

Estas en el tema de por que la primera vez el login no me valida en el foro de PHP en Foros del Web. Hola a todos , tengo una duda tengo un sistema de login el cual despues de validar los datos me redirecciona a otro formulario , ...
  #1 (permalink)  
Antiguo 23/10/2013, 17:44
 
Fecha de Ingreso: julio-2013
Mensajes: 309
Antigüedad: 10 años, 9 meses
Puntos: 2
por que la primera vez el login no me valida

Hola a todos , tengo una duda tengo un sistema de login el cual despues de validar los datos me redirecciona a otro formulario ,

EL problema es que cuando me valida los datos por primera vez me redirecciona al otro formulario pero inmediatamente me devuelve a el login

pero cuando ingreso los datos por segunda vez , me funciona bien ya no me devuelve al login


este es el codigo :

este es el login

Código PHP:

<form action="" method="post" class="login">
        <center><div><label><b>Docente</b></label></div></center>
    <div><label>Username</label><input name='username' type="text" ></div>
    <div><label>Password</label><input name='password' type="password"></div>
    <div><input name="login" type="submit" value="login"></div>
</form>
<?php
session_start
();
// Conectar a la base de datos
mysql_connect ($dbhost$dbusername$dbuserpass);
mysql_select_db($dbname) or die('Cannot select database');

if (isset(
$_POST['username'])) {
//Comprobacion del envio del nombre de usuario y password
$username=$_POST['username'];
$password=$_POST['password'];
if (
$password==NULL) {
echo 
'<div class="error">Por favor escriba la contraseña <META HTTP-EQUIV="Refresh" CONTENT="2; URL=login1.php?b=2"></div>';
}else{
$query mysql_query("SELECT username,password FROM logindocente WHERE username = '$username' AND '$password'") or die(mysql_error());
$data mysql_fetch_array($query);
if(
$data['password'] != $password) {
echo 
'<div class="error">ID o contraseña incorrecta <META HTTP-EQUIV="Refresh" CONTENT="2; URL=login1.php?b=2"></div>';

}else{
    
$query mysql_query("SELECT username,password FROM logindocente WHERE username = '$username' AND '$password'") or die(mysql_error());
$row mysql_fetch_array($query);
$_SESSION["s_username"] = $row['username'];

echo 
'<div class="error">Has sido logueado correctamente '.$_SESSION['s_username'].' y puedes acceder al admin.php. <META HTTP-EQUIV="Refresh" CONTENT="2; URL=index.php"> </div>';
echo 
'<a href="logout.php">Logout</a>';
}
}
}
}
?>

aqui es donde me redirreccion , claro cuando si no esta validado los datos te redireccionara al login denuevo :
Código PHP:
<?php
include "conexion.php";
  if( isset( 
$_SESSION['s_username'] )) {
echo 
"Bienvenido a sistema ,has ingresado como &nbsp; <b>".$_SESSION['s_username']."</b> ";
echo 
'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="logout.php">Logout</a>';
}else{
echo 
"Tu no estas autentificado dirígete a login.php  <META HTTP-EQUIV=\"Refresh\" CONTENT=\"0; URL=login1.php\">";
}
?>

Lo extraño es que no me presenta ese inconveniente cuando lo utilizo con un servidor local (utilizo xampp)

pero cuando lo subo a la web , si me presenta eso




Saludos

Última edición por iniciopublic; 23/10/2013 a las 17:53
  #2 (permalink)  
Antiguo 23/10/2013, 18:19
 
Fecha de Ingreso: octubre-2011
Ubicación: USA
Mensajes: 166
Antigüedad: 12 años, 6 meses
Puntos: 19
Respuesta: por que la primera vez el login no me valida

Tu codigo esta un poco enredado deberias organizarte un poco mas y separar los codigos para una mejor comprension, agrega esta linea al principio de la pagina index que es donde se redirige al loguarte creo que pude ser parte de tu problema

session_start();

Saludos
  #3 (permalink)  
Antiguo 23/10/2013, 20:28
marcofbb
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: por que la primera vez el login no me valida

El session_start(); tiene que estar lo mas arriba posible de todo, arriba de cualquier HTML. Revisa si es eso el error. Tambien puedes revisar si el dominio tiene www y luego esta sin www

Saludos

Etiquetas: formulario, login, mysql, primera, select, sql, vez
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 08:07.