我登录数据库时遇到问题。 我有表格:
<form data-abide method="post" action="confirmar-login.php" id="formlogin" name="formlogin" >
<div class="row">
<div class="small-8">
<div class="row">
<div class="small-3 columns">
<label for="email" class="right inline">E-Mail:</label>
</div>
<div class="small-9 columns">
<input class="radius" type="email" id="email" name="email" placeholder="joao@mail.com" required="">
<small class="error">Field required</small>
</div>
</div>
</div>
<div class="small-8">
<div class="row">
<div class="small-3 columns">
<label for="senha" class="right inline">Senha:</label>
</div>
<div class="small-9 columns">
<input class="radius" type="password" id="senha" name="senha" placeholder="****" required="">
<small class="error">Field required</small>
</div>
</div>
</div>
<div class="small-8">
<div class="row">
<input type="submit" class="button radius " value="Logar">
<a href="cadastro.php" class="button radius " >Cadastrar</a>
</div>
</div>
</form>
当提交登录表单时,它会激活confirmar-login.php文件,它的代码是: 变量 $banco 它是我的数据库名称
<?php
session_start();
require_once 'configuracao.php';
$email = $_POST['email'];
$senha = $_POST['senha'];
$conexao -> query("use $banco") or die ("Erro ao selecionar o database");
$result = $conexao -> prepare("SELECT * FROM usuarios WHERE email_usuario = '$email' and senha = '$senha'") or die("Erro ao selecionar o usuário");
if (mysql_num_rows($result) > 0) {
$_SESSION['email'] = $email;
$_SESSION['senha'] = $senha;
header('location:index.php');
} else {
unset($_SESSION['email']);
unset($_SESSION['senha']);
header('location:login.php');
}
?>
在我的文件 configuracao.php 中有代码:
$conexao = new PDO($dsn, $user, $pass);
我没有发现问题...查询返回任何内容,并且代码没有输入 IF。也就是说,当我输入电子邮件和密码时,它只会将我重定向到登录名......
最佳答案
您正在使用PDO
,因此不要使用mysql_*
,请参阅以下内容:
$prepared = array(
'email' => $_POST['email'],
'senha' = >$_POST['senha']);
$conexao -> query("use $banco") or die ("Erro ao selecionar o database");
$result = $conexao -> prepare("SELECT * FROM usuarios WHERE email_usuario = :email and senha = :senha");
$result->execute($prepared);
if ($result->fetch()) {
关于PHP login.php 用户无法在 mysql 上工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23861384/