Foro de elhacker.net

Programación => Desarrollo Web => Mensaje iniciado por: cundre en 15 Febrero 2011, 10:54 am



Título: [Solucionado]consulta a php-mysql
Publicado por: cundre en 15 Febrero 2011, 10:54 am
hola a ver si alguien me dice donde esta el fallo
1.creo una base de datos
Código
  1. CREATE DATABASE auth;
  2. USE auth;
  3. CREATE TABLE authorized_users (name VARCHAR (20),
  4. password VARCHAR(40),
  5. PRIMARY KEY (name)
  6. );
  7. INSERT INTO authorized_users VALUES ('username', 'password');
  8. INSERT INTO authorized_users VALUES ('testuser', sha1('password'));
  9.  
  10. GRANT SELECT ON auth.*
  11. TO 'webauth'
  12. IDENTIFIED BY 'webauth';
  13. FLUSH privileges;
  14.  

creo un php para que consulte la base de datos para ver si esta el usuario y mandarlo a una
zona privada pero sienpre me tira el if
no se puede ejecutar la consulta.

Código
  1. <?php
  2. $name = $_POST['name'];
  3. $password = $_POST['password'];
  4.  
  5. if((!isset($name)) || (!isset($password))) {
  6. //el visitante tiene que introducer user y pass
  7. ?>
  8. <h1>Inicio Loguin</h1>
  9. <p>This page server.</p>
  10. <form method="post" action="secret.php">
  11. <p>Usuario: <input type="text" name="name"></p>
  12. <p>Password: <input type="password" name="password"></p>
  13. <p><input type="submit" name="submit" value="Log In"></p>
  14. </form>
  15.  
  16. <?php
  17. } else {
  18. //conectar a mysql
  19. $mysql = mysqli_connect("localhost", "webauth", "webauth");
  20. if(!$mysql) {
  21. echo "Error de connecxion database.";
  22. }
  23. //seleccionar base de datos apropiada
  24. $selected = mysqli_select_db($mysql, "auth");
  25. if(!$selected) {
  26. echo "Error Selcionando database";
  27. }
  28. //consultar database para ver si existe user y pass
  29.  
  30. $query = "select count (*) from authorized_users where
  31. name = '".$name."' and
  32. password = '".$password."'";
  33. $result = mysqli_query($mysql, $query);
  34.  
  35. if(!$result) {
  36. echo "no se puede ejecutar la consulta.";
  37. }
  38. $row = mysqli_fetch_row($result);
  39. $count = $row[0];
  40.  
  41. if($count > 0) {
  42. //si son correctos user y pass
  43. echo "Estas aqui user y pass ok";
  44. } else {
  45. //si no son correctos
  46. echo "compruebe user y pass no son correctos";
  47. }
  48. }
  49. ?>
  50.  
Que falla en la consulta si el user y el pass esta en la base de datos.

Un saludo.



Título: Re: consulta a php-mysql
Publicado por: cassiani en 15 Febrero 2011, 19:49 pm
hola, tu error esta en el query:

Código:
$query = "select count (*) from authorized_users where ...

los paréntesis en la función count, pegalos/juntalos
Código:
$query = "select count(*) from authorized_users where ...

Ten cuidado con la seguridad, no estas filtrando los datos de las variables $name y $password revisa eso.


Título: Re: [Solucionado]consulta a php-mysql
Publicado por: cundre en 19 Febrero 2011, 09:40 am
Un Millon De Gracias cassiani.
estaba  loco no entendian el porque no funcionaba.

Encuentro que la sintaxis de php es un poco especial pero bueno
El Que La Sigue La Consigue.

Un saludo.


Título: Re: [Solucionado]consulta a php-mysql
Publicado por: ~ Yoya ~ en 19 Febrero 2011, 14:10 pm
Este post debería ir en la sección PHP.


Título: Re: [Solucionado]consulta a php-mysql
Publicado por: cundre en 19 Febrero 2011, 17:26 pm
Hoy Hace Un Dia Precioso!
Veras Como viene Alguno Y Lo Jode!

Un Saludo