Ver Mensaje Individual
  #4 (permalink)  
Antiguo 17/09/2012, 08:49
NobProgram
 
Fecha de Ingreso: agosto-2012
Ubicación: Perú
Mensajes: 63
Antigüedad: 11 años, 8 meses
Puntos: 0
Respuesta: problema al iniciar sesion

Cita:
Iniciado por jossss Ver Mensaje
Primero que el tema de las 'ñ' suele dar problemas al igual que las tildes. Así que sería mejor cambiarla por una n o similar tanto en el HTML como en el PHP como en el campo de la base de datos.
POr otro lado, en vez de recorrer todos los registros de la tabla buscando uno que coincida, ¿no sería mejor hacer una consulta directa a un registro que tuviera ese usuario y esa contraseña? Si obtienes resultados es que existe y puede iniciar session, si no se obtienen, es que el usuario y la contraseña no coinciden.

Código PHP:
Ver original
  1. $consulta = mysql_query("SELECT * FROM registro WHERE usuario='".$_POST['usuario']."' AND contrasena='".$_POST['contrasena']"'");
  2. if(mysql_num_rows($consulta)>0){
  3.  //existe y se inicia session
  4. }else{
  5.  //este usuario no existe
  6. }
Cita:
Iniciado por antoniopol Ver Mensaje
Primero asegurate que en la tabla los datos del registro aparecen, y a la hora del login yo utilizaría una sintaxis mas sencilla y más optima desde mi punto de vista que es cambiar la select a:
Código SQL:
Ver original
  1. $pass=$_POST["contraseña"];
  2. $usuario=$_POST["usuario"];
  3. $consulta = mysql_query("SELECT * FROM registro WHERE usuario='$usuario' and contraseña='$contraseña'",$conexion);

Una vez ejecutada la consulta si devuelve solo un registro esta todo OK, si no, fallo de usuario o contraseña.

Por último, a mi personalmente, no me gusta usar ñ en las variables y no se si realmente se puede, yo lo cambiaría todo a pass o contrasena. En cuanto a mysql_connect, actualmente esta en deprecated y no cuesta nada conocer la sintaxis de mysqli_connect.

Espero haberte podido ayudar
a perfecto gracias por ese consejo, lo probaré ahora.
entonces no es necesario el while o si ?
y si el usuario si aparece en la base de datos.
y sobre la otra cosa que dije porfavor también si alguien me ayuda.