Test Foro de elhacker.net SMF 2.1

Programación => Desarrollo Web => 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 (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.
Título: Re: Error $query
Publicado por: JungleBoogie en 20 Febrero 2011, 16:47 PM
Prueba con:
Código (php) [Seleccionar]

$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
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.
Título: Re: Error $query
Publicado por: ~ Yoya ~ en 20 Febrero 2011, 20:44 PM
PS a mi me funciona...

User: testuser
Pass: password

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