Foros del Web » Programando para Internet » PHP »

PHP OO Error con el php y validar usuarios

Estas en el tema de Error con el php y validar usuarios en el foro de PHP en Foros del Web. Hola, soy nuevo y realmente necesito ayuda con unas lineas de php para una page que estoy haciendo. Cualquier ayuda es bien recibida Aprendi en ...
  #1 (permalink)  
Antiguo 14/04/2012, 01:06
 
Fecha de Ingreso: abril-2012
Mensajes: 3
Antigüedad: 12 años
Puntos: 0
Error con el php y validar usuarios

Hola, soy nuevo y realmente necesito ayuda con unas lineas de php para una page que estoy haciendo.

Cualquier ayuda es bien recibida

Aprendi en un curso a hacer una pagina que valide y tenga usuarios,
pero cuando copio las siguientes lineas me tira error en 22 y 23,
me pasa con otra pagina mas que me tira error en los mismos datos,


$rs=mysql_query($query,$link);
$n=mysql_num_rows($rs);

no entiendo si tengo algo mal escrito, ya que es basico mi conocimiento de php
o si es mas profundo el tema.

Dejo las lineas de php que tiene el formulario.
MIL GRACIAS



<?
session_start();
if ($_SERVER['REQUEST_METHOD']=="POST"){

if($_POST['boton1']==1){
setcookie("usuario",$_POST['usuario'],time()+3600);
setcookie("password",$_POST['psw'],time()+3600);
} else if ($_POST['boton1']==2){
setcookie("usuario",$_POST['usuario'],time()+3600);
setcookie("password","");
} else if ($_POST['boton1']==3){
setcookie("usuario","");
setcookie("password","");
}
setcookie("boton1",$_POST['boton1'],time()+3600);

@$link=mysql_connect("localhost","root","");
@mysql_select_db("phpdb",$link);
$query="SELECT * FROM usuarios
WHERE usuario= '".$_POST['usuario']."'
AND psw='".$_POST['psw']."'";
$rs=mysql_query($query,$link);
$n=mysql_num_rows($rs);



if ($n>0){
$_SESSION['ususesion']=$_POST['usuario'];
header('location:listado_usuarios.php');
}else{
$msg="<font color='red'>Usuario o Password incorrectos</font>";
}
}
?>




EL ERROR QUE TIRA EL BROWSER DICE ASI:


Warning: mysql_query() expects parameter 2 to be resource, boolean given in

Warning: mysql_num_rows() expects parameter 1 to be resource, null given in

Siendo la linea 22 y 23 las que copié más arriba.

Última edición por nicozubia; 14/04/2012 a las 01:33
  #2 (permalink)  
Antiguo 14/04/2012, 02:30
Avatar de santris  
Fecha de Ingreso: agosto-2009
Ubicación: Sant Feliu de Llobregat
Mensajes: 955
Antigüedad: 14 años, 8 meses
Puntos: 66
Respuesta: Error con el php y validar usuarios

haz un echo de la consulta para ver si recoge bien los valores del form:

echo $query;

saludos,
__________________
Tu álbum de cromos online!!
  #3 (permalink)  
Antiguo 14/04/2012, 04:59
Avatar de JairLizcano  
Fecha de Ingreso: junio-2008
Ubicación: Santander, Colombia
Mensajes: 608
Antigüedad: 15 años, 10 meses
Puntos: 53
Exclamación Respuesta: Error con el php y validar usuarios

Primero que todo:

Código PHP:
$rs=mysql_query($query,$link) or die(mysql_error()); 
Así nos hacemos más fácil al problema. Nos cuentas el error indicado.

Y como dato secundario, intenta (por no decir no lo hagas) evitar la implementación del operador de control arroba (@) y más en el caso de una conexión a una base de datos previa. Se hace obvio que ignorar los errores generados en un determinado momento para la conexión es algo... sin sentido.

Buena suerte.
__________________
Programar dejó de ser una profesión acusada en la oscuridad y disfrutada fríamente... para convertirse en un arte.

Última edición por JairLizcano; 14/04/2012 a las 05:05
  #4 (permalink)  
Antiguo 14/04/2012, 22:37
 
Fecha de Ingreso: abril-2012
Mensajes: 3
Antigüedad: 12 años
Puntos: 0
Respuesta: Error con el php y validar usuarios

Cita:
Iniciado por JairLizcano Ver Mensaje
Primero que todo:

Código PHP:
$rs=mysql_query($query,$link) or die(mysql_error()); 
Así nos hacemos más fácil al problema. Nos cuentas el error indicado.

Y como dato secundario, intenta (por no decir no lo hagas) evitar la implementación del operador de control arroba (@) y más en el caso de una conexión a una base de datos previa. Se hace obvio que ignorar los errores generados en un determinado momento para la conexión es algo... sin sentido.

Buena suerte.
Warning: mysql_query() expects parameter 2 to be resource, boolean given in blablabla
on line 24 <----- ESTA LINEA ES DONDE ME DIJISTE QUE PUSIERA EL CODIGO :(

Access denied for user 'root'@'localhost' (using password: NO)
  #5 (permalink)  
Antiguo 14/04/2012, 22:59
 
Fecha de Ingreso: abril-2012
Ubicación: bogotá
Mensajes: 5
Antigüedad: 12 años
Puntos: 0
Respuesta: Error con el php y validar usuarios

y porque no .. en la linea 6 solo le dejas el valor $query..


1 @$link=mysql_connect("localhost","root","");
2 @mysql_select_db("phpdb",$link);
3 $query="SELECT * FROM usuarios
4 WHERE usuario= '".$_POST['usuario']."'
5 AND psw='".$_POST['psw']."'";
6 $rs=mysql_query($query,$link);
7 $n=mysql_num_rows($rs);



if ($n>0){
$_SESSION['ususesion']=$_POST['usuario'];
header('location:listado_usuarios.php');
}else{
$msg="<font color='red'>Usuario o Password incorrectos</font>";
}
}
?>


y como depronto funcionaria el codigo podira ser asi

@$link=mysql_pconnect("localhost","root","");
@mysql_select_db("phpdb");
$query="SELECT * FROM usuarios WHERE usuario= '".$_POST['usuario']."' AND psw='".$_POST['psw']."'";


$rs=mysql_query($query);
$n=mysql_num_rows($rs);

if (!$rs)
{
echo "error en la consulta";
exit();
}

$usuario=$n["usuario"]; //<-----almacena en variable el resultado


if ($n>0){
$_SESSION['ususesion']=$usuario;
header('location:listado_usuarios.php');
}else{
$msg="<font color='red'>Usuario o Password incorrectos</font>";
}
}
?>


es casi lo mismo pero con algunas cosas mas sencillas espero q te sirva!!!
  #6 (permalink)  
Antiguo 15/04/2012, 00:15
Avatar de JairLizcano  
Fecha de Ingreso: junio-2008
Ubicación: Santander, Colombia
Mensajes: 608
Antigüedad: 15 años, 10 meses
Puntos: 53
Exclamación Respuesta: Error con el php y validar usuarios

Cita:
Iniciado por nicozubia Ver Mensaje
Warning: mysql_query() expects parameter 2 to be resource, boolean given in blablabla
on line 24 <----- ESTA LINEA ES DONDE ME DIJISTE QUE PUSIERA EL CODIGO :(

Access denied for user 'root'@'localhost' (using password: NO)

Estás más que claro el error que te indica:

Código HTML:
Access denied for user 'root'@'localhost' (using password: NO)
Verifica tus parámetros de conexión.

Buena suerte.
__________________
Programar dejó de ser una profesión acusada en la oscuridad y disfrutada fríamente... para convertirse en un arte.
  #7 (permalink)  
Antiguo 15/04/2012, 01:11
 
Fecha de Ingreso: abril-2012
Mensajes: 3
Antigüedad: 12 años
Puntos: 0
Respuesta: Error con el php y validar usuarios

perdon pero soy nuevo,
a que te referis cuando me decis que verifique mis parametros de coneccion??

voy a hacer una pregunta boba, pero creo que ahi esta el meollo de la cuestion,
puede ser que no tenga subia la base de datos??
  #8 (permalink)  
Antiguo 15/04/2012, 09:06
Avatar de JairLizcano  
Fecha de Ingreso: junio-2008
Ubicación: Santander, Colombia
Mensajes: 608
Antigüedad: 15 años, 10 meses
Puntos: 53
Respuesta: Error con el php y validar usuarios

Cita:
Access denied for user 'root'@'localhost' (using password: NO)
En español vendría siendo algo como: "Acceso denegado para el usuario root sin password al servidor local".

Sin mencionar que puede que no cuentes con la base de datos, algo así entendí en tu último comentario.

Revisa que el usuario, la contraseña y el servidor sean válidos.

Buena suerte.
__________________
Programar dejó de ser una profesión acusada en la oscuridad y disfrutada fríamente... para convertirse en un arte.

Etiquetas: formulario, html, mysql, sql, usuarios
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 14:53.