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 $query = 'SELECT * FROM authorized_users ' ." WHERE name='$userid' " . " and password=sha1 ('$password')";
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: $query = "SELECT * FROM authorized_users WHERE name='". $userid ."' and password='". sha1 ($password) ."'";
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 CREATE DATABASE auth; USE auth; CREATE TABLE authorized_users (name VARCHAR (20), password VARCHAR(40), PRIMARY KEY (name) ); INSERT INTO authorized_users VALUES ('username', 'password'); INSERT INTO authorized_users VALUES ('testuser', sha1('password')); GRANT SELECT ON auth.* TO 'webauth' IDENTIFIED BY 'webauth'; FLUSH privileges;
Code php <?php if(isset($_POST['userid']) && isset($_POST['password'])) { // si el usuario acaba de intantar conectarse $userid = $_POST['userid']; $password = $_POST['password']; $db_conn = new mysqli('localhost', 'webauth', 'webauth', 'auth'); } $query = 'SELECT * FROM authorized_users ' ." WHERE name='$userid' " . " and password=sha1 ('$password')"; $result = $db_conn->query($query); if($result->num_rows >0 ) { //si esta en la base de datos registrar el id de usuario $_SESSION['valid_user'] = $userid; } $db_conn->close(); } ?> <html> <body> <h1>Home page</h1> <?php if(isset($_SESSION['valid_user'])) { echo 'Usted esta registrado como: '.$_SESSION['valid_user'].'<br />'; echo '<a href="logout.php">Log out</a><br />'; } else { { //si a intentando conectarse y no lo ha consegido echo 'no se pudo iniciar la session en'; } else { //todavía no han intentado conectarse o se han desconectado echo 'no se ha logeado.<br />'; } //proporcionar form para que se conecte echo '<form method="post" action="authmain.php">'; echo '<table>'; echo '<tr><td>Userid:</td>'; echo '<td><input type="text" name="userid"></td></tr>'; echo '<tr><td>Password:</td>'; echo '<td><input type="password" name="password"></td></tr>'; echo '<tr><td colspan="2" align="center">'; echo '<input type="submit" value="Log in"></td></tr>'; echo '</table></form>'; } ?> <br> <a href="menbers_only.php">Menbers section</a> </body> </html>
Siempre me salta al if { //si a intentando conectarse y no lo ha consegido echo 'no se pudo iniciar la session en'; }
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 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.
|