Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: cundre en 20 Febrero 2011, 13:41 pm



Título: (Solucionado)Error $query
Publicado por: cundre en 20 Febrero 2011, 13:41 pm
Hola estoy siguiendo los ejemplos de un libro pero al parecer
esta lineas no me hacen lo que deberia.
Alguien me podria orientar a donde esta el fallo en la consulta $query

Código
  1. $query = 'SELECT * FROM authorized_users ' ." WHERE name='$userid' " . " and password=sha1 ('$password')";
  2.  

En el navegador no me da error pero me manda al if no registrado
cuando el user lo tengo registrado.

Un Saludo.


Título: Re: Error $query
Publicado por: JungleBoogie en 20 Febrero 2011, 16:47 pm
Prueba con:
Código
  1. $query = "SELECT * FROM authorized_users WHERE name='". $userid ."'  and password='". sha1 ($password) ."'";
  2.  
Y sino, sustituye = por LIKE


Título: Re: Error $query
Publicado por: cundre en 20 Febrero 2011, 18:03 pm
Gracias por responder JungleBoogie.
Pero sigue sin funcionar

Pongo El Code Completo por si se me pasa algo por alto

Database
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.  

Code php

Código
  1. <?php
  2.  
  3. if(isset($_POST['userid']) && isset($_POST['password']))
  4. {
  5. // si el usuario acaba de intantar conectarse
  6. $userid = $_POST['userid'];
  7. $password = $_POST['password'];
  8. $db_conn = new mysqli('localhost', 'webauth', 'webauth', 'auth');
  9.  
  10. echo 'la conexion a la base de datos:' .mysqli_connect_errno();
  11. exit();
  12. }
  13. $query = 'SELECT * FROM authorized_users ' ." WHERE name='$userid' " . " and password=sha1 ('$password')";
  14.  
  15. $result = $db_conn->query($query);
  16. if($result->num_rows >0 )
  17. {
  18. //si esta en la base de datos registrar el id de usuario
  19. $_SESSION['valid_user'] = $userid;
  20. }
  21. $db_conn->close();
  22. }
  23. ?>
  24. <html>
  25. <body>
  26. <h1>Home page</h1>
  27. <?php
  28. if(isset($_SESSION['valid_user']))
  29. {
  30. echo 'Usted esta registrado como: '.$_SESSION['valid_user'].'<br />';
  31. echo '<a href="logout.php">Log out</a><br />';
  32. }
  33. else
  34. {
  35. if(isset($userid))
  36. {
  37. //si a intentando conectarse y no lo ha consegido
  38. echo 'no se pudo iniciar la session en';
  39. }
  40. else
  41. {
  42. //todavía no han intentado conectarse o se han desconectado
  43. echo 'no se ha logeado.<br />';
  44. }
  45. //proporcionar form para que se conecte
  46. echo '<form method="post" action="authmain.php">';
  47. echo '<table>';
  48. echo '<tr><td>Userid:</td>';
  49. echo '<td><input type="text" name="userid"></td></tr>';
  50. echo '<tr><td>Password:</td>';
  51. echo '<td><input type="password" name="password"></td></tr>';
  52. echo '<tr><td colspan="2" align="center">';
  53. echo '<input type="submit" value="Log in"></td></tr>';
  54. echo '</table></form>';
  55. }
  56. ?>
  57. <br>
  58. <a href="menbers_only.php">Menbers section</a>
  59. </body>
  60. </html>
  61.  
  62.  

Siempre me salta al if
Código
  1. if(isset($userid))
  2. {
  3. //si a intentando conectarse y no lo ha consegido
  4. echo 'no se pudo iniciar la session en';
  5. }
  6.  

Un Saludo.


Título: Re: Error $query
Publicado por: ~ Yoya ~ en 20 Febrero 2011, 20:44 pm
PS a mi me funciona...

User: testuser
Pass: password

Citar
Home page

Usted esta registrado como: testuser


Título: Re: Error $query
Publicado por: cundre en 21 Febrero 2011, 15:41 pm
 
Pues Yo Utilizo la version mysql 5.0.67 y no funciona que version usas tu?
No Se si sera eso porque por mas que lo pruebo no rula.

Un Saludo


Título: Re: Error $query
Publicado por: ~ Yoya ~ en 21 Febrero 2011, 23:00 pm
El problema no puede estar en MYSQL. Fijate si estas haciendo algo mal xD, quizás introduzca el password mal xD. Fíjate que tu navegador cree la cookie que contiene el ID de session.


Título: Re: Error $query
Publicado por: cundre en 22 Febrero 2011, 16:49 pm
Bueno Solucionado con el post que me posteo
JungleBoogie

No Se Como lo probe pero no funcionaba y hoy si.

Gracias a tod@s.

Un Saludo.