所以我一直在努力提高我们昨晚在课堂上所做的一些事情,但我无法以某种方式解决这个问题。它不像真正的登录,我只是试图比较电子邮件并传递输入与存储在数据库中的那些,但我一直拒绝访问。
所以这就是形式:
<form id="login_form" method="POST" action="index.php?pagina=login">
<input title="Ingrese su email" id="login_email" class="_click_clean _round" type="text" name="email" value="Email ..." />
<input title="Ingrese su clave" id="login_pass" class="_click_clean _round" type="password" name="pass" value="" />
<input class="boton_login _round" id="login_submit" type="submit" value="Ingresar" />
</form>
这就是我在login.php中所拥有的:
<?php $resultado=login($_POST["email"], $_POST["pass"]);?>
<div id="cuerpo" style="height:auto;">
<div id="izquierda">
<?php
require "templates/menues/menu.php";
?>
</div>
<div id="principal">
<?php
$pass=SHA1($_POST["pass"]);
if ($resultado["email"]==$_POST["email"] && $resultado["pass"]==$pass){
echo "<h1>Login Exsitoso!</h1>";
echo "<p>bienvenido</p>". $resultado["email"];
}
echo "acceso denegado";
?>
</div>
</div>
这是我正在使用的功能:
<?php
function login($email, $pass){
$pass= sha1($pass);
$sql="SELECT FROM usuarios email, pass WHERE email='$email' and pass='$pass'";
$resultado= query($sql);
if(!sizeof($resultado)){
return FALSE;
}
return $resultado[0];
}
?>
这就是我在db.inc.php文件中的内容:
function bufferedQuery($sql){
$resultado= query($sql);
$datos= Array();
while($fila= mysqli_fetch_assoc($resultado)){
$datos[]=$fila;
}
return $datos;
}
所有我一直得到的是“acceso denegado”,这是我告诉它说的,以防电子邮件和通行证与db不匹配。希望你能帮忙,谢谢!
答案 0 :(得分:2)
您的登录功能在SQL中有一个错误,它会查找给定的电子邮件地址和密码。在该函数的第2行,您写道:
$sql="SELECT FROM usuarios email, pass WHERE email='$email' and pass='$pass'";
应该是:
$sql="SELECT email, pass FROM usuarios WHERE email='$email' and pass='$pass'";