1.creo una base de datos
Código
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
<?phpQue falla en la consulta si el user y el pass esta en la base de datos.
$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";
}
}
?>
Un saludo.










Autor


En línea





