Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

fell

[Resolvido] erro no mysqli

Recommended Posts

ola galera

 

é o seguinte, eu tenho uma função que faz o check a verificar se um utilizador existe na base de dados, aí se existe insere o hash na database. Eu chamo isso a seguir num if e valido se a funcção check foi efectuada e envio o email

 

acontece que tou recebendo o erro Fatal error: Call to a member function prepare() on a non-object in C:\Users\fel\VertrigoServ\www\login\home\recover.php on line 28

 

<?
function check($sql, $db, $email, $pwdHasher, $hash, $userExists ) {
if(!empty($_POST['email']) && validateEmail($email)) {
	$email = $_POST["email"];
	if ($sql = $db->prepare("select email from users where email=?")) {  // [b]Fatal error[/b]:  Call to a member function prepare() on a non-object in [b]C:\Users\fel\VertrigoServ\www\login\home\recover.php[/b] on line [b]28[/b]

		$sql->bind_param('s', $email);

		$sql->execute();

		$sql->bind_result($email);

		while ($sql->fetch()) {

			$pwdHasher = new PasswordHash(8, FALSE);

			$hash = $pwdHasher->HashPassword($userExists["email"]);

			$sendPass=$hash;

			($sql = $db->prepare('insert into password_reset (code) values (?)'));
			$sql->bind_param('s', $hash);

			$sql->execute();
			$sql->fetch();

		}
	}
}
}

if (check($sql, $email, $email,$pwdHasher, $hash, $userExists )) {
	($sql = $db->prepare("select userid from password_reset where code=?"));
	$sql->bind_param('s', $hash);
	$sql->execute();
	$sql->bind_result($hash);

	if ($sql->fetch()) {
		echo $hash;

	};

	$pwrurl = "www.yoursite.com/reset_password.php?userid=" .$hash . "&code =" . $sendPass;

	$mailbody = "Dear user,<br><br>If this e-mail does not apply to you please ignore it. It appears that you have requested a password reset at our website www.yoursitehere.com<br>
		To reset your password, please click the link below. If you cannot click it, please paste it into your web browser's address bar.<br> <a href='$pwrurl'>$pwrurl</a>  <br> <br>
		Thanks,\nThe Administration";

	$mail->MsgHTML($mailbody);

	$mail->AddAddress($email,"Membro");

	$mail->IsHTML(true);

	if(!$mail->Send()) {
		echo "Deu erro: " . $mail->ErrorInfo;
	} else {
		echo "Enviado com sucesso";
	}


	$sql->close();
	$db->close();

}


?>

 

alguêm pode dar uma olhada no código sff?

 

fiquem bem

 

EDIT: o problem era a falta de um argumento ($db)

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.