hola a ver si alguien me dice donde esta el fallo
1.creo una base de datos
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.
<?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.
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.
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.
Este post debería ir en la sección PHP.
Hoy Hace Un Dia Precioso!
Veras Como viene Alguno Y Lo Jode!
Un Saludo