Foros del Web » Programando para Internet » PHP »

Sistema de identificación con problemas

Estas en el tema de Sistema de identificación con problemas en el foro de PHP en Foros del Web. No consigo iniciar sesión. Parece ser que el archivo "control.php" no se conecta a la base de datos, ya que me da error al intentar ...
  #1 (permalink)  
Antiguo 26/02/2009, 19:05
Avatar de Janofsope  
Fecha de Ingreso: febrero-2009
Ubicación: Euskal Herria = Pais Vasco
Mensajes: 27
Antigüedad: 15 años, 2 meses
Puntos: 0
Sistema de identificación con problemas

No consigo iniciar sesión. Parece ser que el archivo "control.php" no se conecta a la base de datos, ya que me da error al intentar iniciar sesión. No sé porque me da error si me pueden ayudar les estaré agradecido.

En index.php:
Código:
<h1>Autentificación PHP</h1>
<form action="control.php" method="POST">
<table align="center" width="225" cellspacing="2" cellpadding="2" border="0">
<tr>
<td colspan="2" align="center"
<?if ($_GET["errorusuario"]=="si"){?>
bgcolor=red><span style="color:ffffff"><b>Datos incorrectos</b></span>
<?}else{?>
bgcolor=#cccccc>Introduce tu clave de acceso
<?}?></td>
</tr>
<tr>
<td align="right">USER:</td>
<td><input type="Text" name="username" size="8" maxlength="50" id="username"></td>
</tr>
<tr>
<td align="right">PASSWD:</td>
<td><input type="password" name="password" size="8" maxlength="50" id="password"></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="Submit" value="ENTRAR"></td>
</tr>
</table>
</form>
control.php:
Código:
<?php
//DB-kin konektatzen naz
$conn = mysql_connect("x","x","x");
//Aukeratzen dot DB
mysql_select_db("x",$conn);

//Sententzia SQL erabiltzaileri bilatzeko
$ssql = "SELECT * FROM users WHERE username='$username' and password='$password'";

//Sententzia bete eginten dot
$rs = mysql_query($ssql,$conn) or die( mysql_error() );

if (mysql_num_rows($rs)!=0){
    //Erabiltzailea eta kodea ondo
    //Zehazten dot sesioa eta gero gorde 
    session_start();
    session_register("autentificado");
    $autentificado = "SI";
    header ("Location: panel.php");
}else {
    //Existitzen ez ba da bidaltzen diot index.html-era
    header("Location: index.php?errorusuario=si");
}
mysql_free_result($rs);
mysql_close($conn); 
?>
saludos ;)

Última edición por Janofsope; 26/02/2009 a las 19:19
  #2 (permalink)  
Antiguo 26/02/2009, 19:23
 
Fecha de Ingreso: marzo-2005
Mensajes: 1.418
Antigüedad: 19 años
Puntos: 9
Respuesta: Sistema de identificación con problemas

Mostra por pantalla que valor tienen las variables $username y $password. Fijate accediendo a los valores a través de $_POST['username'] y $_POST['password'].
__________________
Add, never Remove
  #3 (permalink)  
Antiguo 26/02/2009, 19:23
Avatar de gakutaru  
Fecha de Ingreso: agosto-2005
Ubicación: frente a mi NtbK
Mensajes: 239
Antigüedad: 18 años, 7 meses
Puntos: 6
Respuesta: Sistema de identificación con problemas

arroja alguna alerta o algo?
lo unico q veo raro es que el where no lleva parentesis o yo ya estoi muy acostumbrado a eso :P
  #4 (permalink)  
Antiguo 26/02/2009, 19:38
Avatar de Janofsope  
Fecha de Ingreso: febrero-2009
Ubicación: Euskal Herria = Pais Vasco
Mensajes: 27
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: Sistema de identificación con problemas

mariano_donati no entiendo lo que me pides, ¿que muestre algo?. Lo siento empece en agosto y voy pengando tumbos, a algunas cosas no llego.

edito:
Me da este error:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Josu' at line 1
  #5 (permalink)  
Antiguo 26/02/2009, 19:41
Avatar de gakutaru  
Fecha de Ingreso: agosto-2005
Ubicación: frente a mi NtbK
Mensajes: 239
Antigüedad: 18 años, 7 meses
Puntos: 6
Respuesta: Sistema de identificación con problemas

en todo caso faltan recivir las variables del post
$password = $_POST[password];
$username= $_POST[username];
  #6 (permalink)  
Antiguo 26/02/2009, 19:47
 
Fecha de Ingreso: marzo-2005
Mensajes: 1.418
Antigüedad: 19 años
Puntos: 9
Respuesta: Sistema de identificación con problemas

por un lado ejecuta estas sentencias ni bien cargues la página:

echo($username . '<br>');
echo($password);
exit();

Y fijate si te muestra los datos que ingresaste en el formulario.
Por otro lado, mantene tu script como está, excepto que en lugar de escribir $username y $password uses los valores que se almacenen en la matriz global $_POST['username'] y $_POST['password'].
No sé que error te da, pero si el error al que te referís es el que se produce cuando no encuentra un nombre de usuario y password que concuerden con los datos que ingresaste en el form, no es un error de php sino es un error de que seguramente los datos no se están enviando correctamente. Por eso tenés que verificar antes que nada que los datos que envias se reciben igual, y por supuesto también verifica en tu base de datos que estos datos existan, porque sino siempre te va a dar el mismo error.
Saludos.
__________________
Add, never Remove
  #7 (permalink)  
Antiguo 26/02/2009, 20:13
Avatar de Janofsope  
Fecha de Ingreso: febrero-2009
Ubicación: Euskal Herria = Pais Vasco
Mensajes: 27
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: Sistema de identificación con problemas

Si muestra los datos. si pongo lo que me dijo $_POST['username'] y $_POST['password'] me salta el error que puse anteriormente.
  #8 (permalink)  
Antiguo 26/02/2009, 20:16
Avatar de argy  
Fecha de Ingreso: octubre-2007
Ubicación: Longitud 75º Latitud 18º Sur
Mensajes: 614
Antigüedad: 16 años, 5 meses
Puntos: 18
Respuesta: Sistema de identificación con problemas

el error que te muestra es de sql y básicamente no es que no encuentre un usuario y password con la que consultas, ya que si fuera este el caso simplemente note regresaría ningún registro.
__________________
Software libre para un mundo libre.

Eventualmente en el foro.
  #9 (permalink)  
Antiguo 26/02/2009, 20:18
Avatar de Janofsope  
Fecha de Ingreso: febrero-2009
Ubicación: Euskal Herria = Pais Vasco
Mensajes: 27
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: Sistema de identificación con problemas

entonces ¿a que es devido el fallo?
  #10 (permalink)  
Antiguo 26/02/2009, 20:23
Avatar de bLEx  
Fecha de Ingreso: mayo-2008
Ubicación: Villa Alemana, Chile
Mensajes: 181
Antigüedad: 15 años, 11 meses
Puntos: 5
Respuesta: Sistema de identificación con problemas

Cita:
Iniciado por Janofsope Ver Mensaje
mariano_donati no entiendo lo que me pides, ¿que muestre algo?. Lo siento empece en agosto y voy pengando tumbos, a algunas cosas no llego.

edito:
Me da este error:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Josu' at line 1
Claramente si se te conecta a la base de datos, pero el problema esta en la query para consultar a la base de datos....

Código php:
Ver original
  1. //Sententzia SQL erabiltzaileri bilatzeko
  2. $ssql = "SELECT * FROM users WHERE username='$username' and password='$password'";
  3.  
  4. //Sententzia bete eginten dot
  5. $rs = mysql_query($ssql,$conn) or die( mysql_error() )

Dime...Josu es parte del usuario o la clave que ingresas¿????, esta tiene algun espacio,???,

Include prueba imprimiendo el valor de $ssql para ver cual es la query que ejecuta y luego realizala tal cual en tu gestor de bd para ver si funca o no
  #11 (permalink)  
Antiguo 26/02/2009, 20:26
Avatar de Janofsope  
Fecha de Ingreso: febrero-2009
Ubicación: Euskal Herria = Pais Vasco
Mensajes: 27
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: Sistema de identificación con problemas

Josu es el usuario
  #12 (permalink)  
Antiguo 26/02/2009, 20:43
Avatar de Janofsope  
Fecha de Ingreso: febrero-2009
Ubicación: Euskal Herria = Pais Vasco
Mensajes: 27
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: Sistema de identificación con problemas

Josu es el usuario y la clave que ingreso es 1234. No se lo que me pides en lo de include prueba impri.....

No se si puede deverse a esto. Hice la tabla en la base de datos con lo siguiente:
Código:
CREATE TABLE users(
id INT NOT NULL AUTO_INCREMENT,
PRIMARY KEY(id),
username VARCHAR(30) NOT NULL,
password VARCHAR(20) NOT NULL,
email VARCHAR(40) NOT NULL)

Última edición por Janofsope; 26/02/2009 a las 20:53
  #13 (permalink)  
Antiguo 26/02/2009, 21:02
Avatar de bLEx  
Fecha de Ingreso: mayo-2008
Ubicación: Villa Alemana, Chile
Mensajes: 181
Antigüedad: 15 años, 11 meses
Puntos: 5
Respuesta: Sistema de identificación con problemas

olvita la palabra de include, tanto ingles confunde a veces mi escribir ok...


lo que te pido ahi, es que coloque un echo $ssql por ahi, para que revises cual es la consulta que estas hacuendo a la base de datos, de esta manera puedes visualizar bien donde falla

Tambien puedes copiarla y pegarla en tu gestor de bd para ejecutarla directo
  #14 (permalink)  
Antiguo 26/02/2009, 21:05
Avatar de bLEx  
Fecha de Ingreso: mayo-2008
Ubicación: Villa Alemana, Chile
Mensajes: 181
Antigüedad: 15 años, 11 meses
Puntos: 5
Respuesta: Sistema de identificación con problemas

ahora, no se si influya, pero intenta definir ssql asi:

Código php:
Ver original
  1. $ssql = "SELECT * FROM users WHERE username='".$username."' and password='".$password."'";
  #15 (permalink)  
Antiguo 26/02/2009, 21:17
Avatar de Janofsope  
Fecha de Ingreso: febrero-2009
Ubicación: Euskal Herria = Pais Vasco
Mensajes: 27
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: Sistema de identificación con problemas

me da esto:
SELECT * FROM users WHERE username='' and password=''
Warning: Cannot modify header information - headers already sent by (output started at /homepages/8/d216641949/htdocs/beta/control.php:8) in /homepages/8/d216641949/htdocs/beta/control.php on line 22
  #16 (permalink)  
Antiguo 26/02/2009, 21:22
Avatar de bLEx  
Fecha de Ingreso: mayo-2008
Ubicación: Villa Alemana, Chile
Mensajes: 181
Antigüedad: 15 años, 11 meses
Puntos: 5
Respuesta: Sistema de identificación con problemas

entonces $username y $password no reciben valores

lo que tienes que haces es lo que se te dijo antes y asginarles el valor del POST
  #17 (permalink)  
Antiguo 27/02/2009, 03:35
Avatar de Janofsope  
Fecha de Ingreso: febrero-2009
Ubicación: Euskal Herria = Pais Vasco
Mensajes: 27
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: Sistema de identificación con problemas

Intento poner el metodo POST de todas formas, pero me da error de sintaxis. ¿me ayudan?
  #18 (permalink)  
Antiguo 27/02/2009, 04:21
 
Fecha de Ingreso: enero-2008
Mensajes: 52
Antigüedad: 16 años, 2 meses
Puntos: 2
Respuesta: Sistema de identificación con problemas

Prueba con la query así:

Código PHP:
$ssql "SELECT * FROM users WHERE username='$username' and `password`='$password'"
  #19 (permalink)  
Antiguo 27/02/2009, 04:27
Avatar de Janofsope  
Fecha de Ingreso: febrero-2009
Ubicación: Euskal Herria = Pais Vasco
Mensajes: 27
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: Sistema de identificación con problemas

me sigue dando error de syntax
  #20 (permalink)  
Antiguo 27/02/2009, 04:30
 
Fecha de Ingreso: noviembre-2008
Mensajes: 62
Antigüedad: 15 años, 4 meses
Puntos: 2
Respuesta: Sistema de identificación con problemas

Antes de la linea $ssql ponle:

$username = $_POST['username'];
$password = $_POST['password'];

para que compare en la sentencia sql, suerte.
  #21 (permalink)  
Antiguo 27/02/2009, 04:48
Avatar de Janofsope  
Fecha de Ingreso: febrero-2009
Ubicación: Euskal Herria = Pais Vasco
Mensajes: 27
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: Sistema de identificación con problemas

lo pongo pero me sigue fallando

Igual o seguramente, yo no este poniendo bien lo que me dicen, si pueden diganme como quieren q lo ponga. gracias ;)

Última edición por Janofsope; 27/02/2009 a las 04:55
  #22 (permalink)  
Antiguo 27/02/2009, 05:09
Avatar de bLEx  
Fecha de Ingreso: mayo-2008
Ubicación: Villa Alemana, Chile
Mensajes: 181
Antigüedad: 15 años, 11 meses
Puntos: 5
Respuesta: Sistema de identificación con problemas

Código php:
Ver original
  1. $username = $_POST['username'];
  2. $password = $_POST['password'];
  3.  
  4. $query = "select * from users where username = '".$username."' and `password` = '".$password."'";
  #23 (permalink)  
Antiguo 27/02/2009, 05:17
Avatar de Janofsope  
Fecha de Ingreso: febrero-2009
Ubicación: Euskal Herria = Pais Vasco
Mensajes: 27
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: Sistema de identificación con problemas

no se conecta, joe es difil la cosa esta!!! ;)
  #24 (permalink)  
Antiguo 02/03/2009, 20:21
Avatar de argy  
Fecha de Ingreso: octubre-2007
Ubicación: Longitud 75º Latitud 18º Sur
Mensajes: 614
Antigüedad: 16 años, 5 meses
Puntos: 18
Respuesta: Sistema de identificación con problemas

el warning que te da es porque estas enviando algun carecter(cadena, alguna etiqeuta html, espacio estas imprimiendo con echo, print,etc) antes de enviar una cabecera(session_start(),header).
sobre error de sintaxis en la consulta sql,lo más probable es que no esté recibiendo las variables por post,porque quizás no son los nombres de los campos, entonces prueba imprimiendo el contenido de la superglobal $_POST con foreach.

Código :
Ver original
  1. foreach($_POST as $k=>$v)
  2. {
  3. echo "$k=>$v<br />";
  4. }
.
si ya lo solucionaste, entonces felicitaciones.
__________________
Software libre para un mundo libre.

Eventualmente en el foro.
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 21:14.