Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá, sou iniciante em PHP. Estou criando um portal imobiliário seguindo um curso.
Estou fazendo sistema de recover, onde o usuário digita o e-mail e o sistema envia os dados do usuário para o seu e-mail para lembrá-lo a sua senha de acesso ao painel.
Estou com erro no PDO, não sei onde está. É no prepare. Vou postar o código aqui. Peço que me ajudem, por favor!
Recover.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="[http://www.w3.org/1999/xhtml](http://www.w3.org/1999/xhtml)">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>DImóveis | Painel de Administração</title>
<link href="login_style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="login">
<img src="images/dimoveis_logo.png" width="125" height="80" alt="" />
<form name="recover" action="" method="post">
<span class="envie">
Para receber os dados de acesso, informe abaixo seu e-mail de login
</span>
<label><span>E-mail:</span><input type="text" name="email" /></label>
<p><a href="index.php">[ Voltar e logar ]</a></p>
<input type="submit" name="logar" id="logar" value="Logar" class="btn" />
</form>
<?php
if(isset($_POST['logar']) && $_POST['logar'] == 'Logar'){
$clienteEmail = strip_tags(trim($_POST['email']));
$clienteSenha_mail = $_GET['senha'];
$sql_verificaMail = 'SELECT email, senha FROM d_clientes WHERE email = :clienteEmail AND senha = :clienteSenha_mail';
try{
$db = new PDO('mysql:host=localhost;dbname=imobi','root','');
$query_verificaMail = $conecta->prepare($sql_verificaMail);
$query_verificaMail->bindValue(':clienteEmail',$clienteEmail,PDO::PARAM_STR);
$query_verificaMail->bindValue(':clienteSenha_mail',$clienteSenha_mail,PDO::PARAM_STR);
$query_verificaMail->execute();
$count_verificaMail = $query_verificaMail->rowCount(PDO::FETCH_ASSOC);
}catch(PDOexception $erro_verificaMail){
echo 'Erro ao selecionar verificador';
}
if($count_verificaMail == '0'){
echo '<div class="alertas">
<strong style="color:#063;">[◊]</strong>
Desculpe, o e-mail informado não consta em nosso banco de dados.</div><!--alerta--> ';
}else{
if($count_verificaMail == ''){
echo '<div class="alertas">
<strong style="color:#063;">[◊]</strong>
Desculpe, você precisa digitar um e-mail válido.</div><!--alerta--> ';
}else{
if($count_verificaMail > '0'){
$mail_data = date('d/m/Y H:i:s');
$meuEmail = 'contato@clickimovel.com.br';
$assunto = 'Envio de senha de acesso ao painel do Portal Click Imóvel '.$clienteNome;
$headers = "From: $meuEmail\n";
$header .= "content-type: text/html; charset=\"utf-8\"\n\n";
$mensagemSistema = "
Envio de senha:<br />
<strong>Cliente E-mail:</strong> $clienteEmail<br />
<br />
<br />
Mensagem enviada em: $mail_data
";
mail($meuEmail,$assunto,$mensagemSistema,$headers);
$clienteAssunto = 'Cadastro com sucesso DIMÓVEIS';
$mensagemCliente = "
<strong>E-mail de segurança, guarde esse e-mail para posterior consulta!</strong><br />
Seus dados são:<br /><br />
Login: $clienteEmail<br />
Senha: $clienteSenha_mail<br /><br />
Está é uma mensagem automática de nosso sistema, você não precisa responder!
<br />
<br />
Mensagem enviada em: $mail_data
";
mail($clienteEmail,$clienteAssunto,$mensagemCliente,$headers);
echo '<div class="alertas">
<strong style="color:#063;">[◊]</strong>
Envio realizado com sucesso!</div><!--alerta--> ';
}
}
}
}
?>
Está dando o seguinte erro:
Fatal error: Call to a member function prepare() on a non-object in C:\wamp\www\imobi\admin\recover.php on line 34
Na linha: $query_verificaMail = $conecta->prepare($sql_verificaMail);
Se puderem me ajudar, eu agradeceria.
Boa tarde, obrigada.
Carregando comentários...