(Solucionado)Error $query

Iniciado por cundre, 20 Febrero 2011, 13:41 PM

0 Miembros y 1 Visitante están viendo este tema.

cundre

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 (php) [Seleccionar]

$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.
@copyleft

JungleBoogie

Prueba con:
Código (php) [Seleccionar]

$query = "SELECT * FROM authorized_users WHERE name='". $userid ."'  and password='". sha1 ($password) ."'";

Y sino, sustituye = por LIKE

cundre

Gracias por responder JungleBoogie.
Pero sigue sin funcionar

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

Database
Código (sql) [Seleccionar]

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

Código (php) [Seleccionar]

<?php
session_start
();

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');

if(
mysqli_connect_errno()) {
echo 'la conexion a la base de datos:' .mysqli_connect_errno();
exit();
}
$query 'SELECT * FROM authorized_users ' ." WHERE name='$userid' " " and password=sha1 ('$password')";

$result $db_conn->query($query);
if($result->num_rows >)
{
//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
{
if(isset($userid))
{
//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
Código (php) [Seleccionar]

if(isset($userid))
{
//si a intentando conectarse y no lo ha consegido
echo 'no se pudo iniciar la session en';
}


Un Saludo.
@copyleft

~ Yoya ~

PS a mi me funciona...

User: testuser
Pass: password

CitarHome page

Usted esta registrado como: testuser
Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.

cundre

 
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
@copyleft

~ Yoya ~

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.
Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.

cundre

#6
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.
@copyleft