[Solucionado]consulta a php-mysql

Iniciado por cundre, 15 Febrero 2011, 10:54 AM

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

cundre

hola a ver si alguien me dice donde esta el fallo
1.creo una base de datos
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;


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

<?php
$name 
$_POST['name'];
$password $_POST['password'];

if((!isset(
$name)) || (!isset($password))) {
//el visitante tiene que introducer user y pass
?>

<h1>Inicio Loguin</h1>
<p>This page server.</p>
<form method="post" action="secret.php">
<p>Usuario: <input type="text" name="name"></p>
<p>Password: <input type="password" name="password"></p>
<p><input type="submit" name="submit" value="Log In"></p>
</form>

<?php
} else {
//conectar a mysql
$mysql mysqli_connect("localhost""webauth""webauth");
if(!
$mysql) {
echo "Error de connecxion database.";
exit;
}
//seleccionar base de datos apropiada
$selected mysqli_select_db($mysql"auth");
if(!
$selected) {
echo "Error Selcionando database";
exit;
}
//consultar database para ver si existe user y pass

$query "select count (*) from authorized_users where
name = '"
.$name."' and
password = '"
.$password."'";
$result mysqli_query($mysql$query);

if(!
$result) {
echo 
"no se puede ejecutar la consulta.";
exit;
}
$row mysqli_fetch_row($result);
$count $row[0];

if(
$count 0) {
//si son correctos user y pass
echo "Estas aqui user y pass ok";
} else {
//si no son correctos
echo "compruebe user y pass no son correctos";
}
}
?>


Que falla en la consulta si el user y el pass esta en la base de datos.

Un saludo.

@copyleft

cassiani

hola, tu error esta en el query:

$query = "select count (*) from authorized_users where ...

los paréntesis en la función count, pegalos/juntalos
$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.

cundre

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

~ Yoya ~

Este post debería ir en la sección PHP.
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

Hoy Hace Un Dia Precioso!
Veras Como viene Alguno Y Lo Jode!

Un Saludo
@copyleft