Foros del Web » Programando para Internet » PHP »

Autentificador De Usuarios , No Funciona

Estas en el tema de Autentificador De Usuarios , No Funciona en el foro de PHP en Foros del Web. Tengo el siguiente problema: Al autentificar a un usuario desde una base de datos con los campos: usuario_1 y password_1, lo deja acceder al sitio ...
  #1 (permalink)  
Antiguo 03/05/2008, 08:39
Avatar de acousticgerman  
Fecha de Ingreso: abril-2004
Ubicación: Merlo, buenos aires
Mensajes: 364
Antigüedad: 20 años
Puntos: 1
De acuerdo Autentificador De Usuarios , No Funciona

Tengo el siguiente problema: Al autentificar a un usuario desde una base de datos con los campos:

usuario_1 y password_1,

lo deja acceder al sitio pero aunque ponga mal la clave.

Que podrá ser???


ESTE ES EL FORMULARIO HTML (formulario.html):



<FORM ACTION="panel.php" METHOD="post">
Usuario: <br><INPUT TYPE="text" NAME="username" SIZE=20 MAXLENGTH=14>
<BR>
Contraseña:<br> <INPUT TYPE="password" NAME="password"
SIZE=20 MAXLENGTH=14>
<BR><br>
<INPUT TYPE="submit" CLASS="boton" VALUE="Ingresar">
</FORM>






ESTE ES EL SCRIPT DE AUTENTIFICACION DE USUARIOS (panel.php)



<?

$dbhost='localhost';
$dbusername='usuario_basededatos';
$dbuserpass='clavedificilisima';
$dbname='nombre_basededatos';
session_start();


mysql_connect ($dbhost, $dbusername, $dbuserpass);
mysql_select_db($dbname) or die('Cannot select database');

?>

if (isset($_SESSION['s_username'])) {
echo "Bienvenido a mi sitio has ingresado como ".$_SESSION['s_username'].", gracias por la visita!";
}else{
echo "Tu no estas autentificado dirígete a login.php o registrate en register.php";
echo $_SESSION['s_username'];
}
?>



<?

$dbhost='localhost';
$dbusername='usuario_basededatos';
$dbuserpass='clavedificilisima';
$dbname='nombre_basededatos';

session_start();

session_start();


mysql_connect ($dbhost, $dbusername, $dbuserpass);
mysql_select_db($dbname) or die('Cannot select database');

if ($_POST['username']) {

$username=$_POST['username'];
$password=$_POST['password'];
if ($password==NULL) {
echo "La password no fue enviada";
}else{
$query = mysql_query("SELECT username,password FROM clientes WHERE username = '$username'") or die(mysql_error());
$data = mysql_fetch_array($query);
if($data['password'] != $password) {
echo "Login incorrecto";
}else{
$query = mysql_query("SELECT username,password FROM nombredetabla WHERE username = '$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.";
}
}
}
?>



----------------------------------------------------------------



ESTE ES EL ERROR QUE ME TIRA:




ERROR DE AUTENTIFICACION

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /home/wwwmiusuario/public_html/actualizaciones/panel.php:2) in /home/wwwmiusuario/public_html/actualizaciones/panel.php on line 8

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/wwwmiusuario/public_html/actualizaciones/panel.php:2) in /home/wwwmiusuario/public_html/actualizaciones/panel.php on line 8
if (isset($_SESSION['s_username'])) { echo "Bienvenido a mi sitio has ingresado como ".$_SESSION['s_username'].", gracias por la visita!"; }else{ echo "Tu no estas autentificado dirígete a login.php o registrate en register.php"; echo $_SESSION['s_username']; } ?> La password no fue enviada
__________________
"Life goes on..."
  #2 (permalink)  
Antiguo 03/05/2008, 09:11
 
Fecha de Ingreso: agosto-2005
Ubicación: Valencia
Mensajes: 76
Antigüedad: 18 años, 8 meses
Puntos: 1
Re: Autentificador De Usuarios , No Funciona

Cita:
Iniciado por acousticgerman Ver Mensaje
Tengo el siguiente problema: Al autentificar a un usuario desde una base de datos con los campos:

usuario_1 y password_1,

lo deja acceder al sitio pero aunque ponga mal la clave.

Que podrá ser???


ESTE ES EL FORMULARIO HTML (formulario.html):



<FORM ACTION="panel.php" METHOD="post">
Usuario: <br><INPUT TYPE="text" NAME="username" SIZE=20 MAXLENGTH=14>
<BR>
Contraseña:<br> <INPUT TYPE="password" NAME="password"
SIZE=20 MAXLENGTH=14>
<BR><br>
<INPUT TYPE="submit" CLASS="boton" VALUE="Ingresar">
</FORM>






ESTE ES EL SCRIPT DE AUTENTIFICACION DE USUARIOS (panel.php)



<?

$dbhost='localhost';
$dbusername='usuario_basededatos';
$dbuserpass='clavedificilisima';
$dbname='nombre_basededatos';
session_start();


mysql_connect ($dbhost, $dbusername, $dbuserpass);
mysql_select_db($dbname) or die('Cannot select database');

?>

if (isset($_SESSION['s_username'])) {
echo "Bienvenido a mi sitio has ingresado como ".$_SESSION['s_username'].", gracias por la visita!";
}else{
echo "Tu no estas autentificado dirígete a login.php o registrate en register.php";
echo $_SESSION['s_username'];
}
?>



<?

$dbhost='localhost';
$dbusername='usuario_basededatos';
$dbuserpass='clavedificilisima';
$dbname='nombre_basededatos';

session_start();

session_start();


mysql_connect ($dbhost, $dbusername, $dbuserpass);
mysql_select_db($dbname) or die('Cannot select database');

if ($_POST['username']) {

$username=$_POST['username'];
$password=$_POST['password'];
if ($password==NULL) {
echo "La password no fue enviada";
}else{
$query = mysql_query("SELECT username,password FROM clientes WHERE username = '$username'") or die(mysql_error());
$data = mysql_fetch_array($query);
if($data['password'] != $password) {
echo "Login incorrecto";
}else{
$query = mysql_query("SELECT username,password FROM nombredetabla WHERE username = '$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.";
}
}
}
?>



----------------------------------------------------------------



ESTE ES EL ERROR QUE ME TIRA:




ERROR DE AUTENTIFICACION

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /home/wwwmiusuario/public_html/actualizaciones/panel.php:2) in /home/wwwmiusuario/public_html/actualizaciones/panel.php on line 8

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/wwwmiusuario/public_html/actualizaciones/panel.php:2) in /home/wwwmiusuario/public_html/actualizaciones/panel.php on line 8
if (isset($_SESSION['s_username'])) { echo "Bienvenido a mi sitio has ingresado como ".$_SESSION['s_username'].", gracias por la visita!"; }else{ echo "Tu no estas autentificado dirígete a login.php o registrate en register.php"; echo $_SESSION['s_username']; } ?> La password no fue enviada
Hola, acousticgerman, voy a intentar echarte un cable.

Para empezar, la funcion session_start() ha de ser llamada en la primera línea del código, justo despues <?php. Esto es porque las cookies se mandan junto con la cabecera http, y las sesiones en php funcionan con cookies. Por lo tanto antes de mandar ningún resultado al usuario, debes iniciar la sesión.

Prueba a modificar esta observación y prueba tu código para ver que ocurre y me cuentas.
__________________
Quien a buen árbol se arrima, buena sombra le cobija. :aplauso:

http://dbtrucos.com
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 09:21.