Gerar nova Senha :Warning: mysqli_query() expects parameter 1 to be
Olá, estou ativando um antigo código PHP. Já tentei resolver com a troca de mysql_query() para mysqli_query().
Onde iniciou erro que não consigo arrumar. Sei que no caso de mysqli_query() devo colocar o parametro no início: $conecta( no meu caso).
Se alguem puder me dar um paremetro para estudar , eu agradeço.
A finalidade é gerar uma nova senha. Manda automaticamente uma senha randômica e já troca automaticamente no banco de dados.
ERRO:
Warning: mysqli_query() expects parameter 1 to be mysqli, null given in /home/copam957/public_html/copa1/gerar_nova_senha.php on line 35
Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, null given in /home/copam957/public_html/copa1/gerar_nova_senha.php on line 36
Este email não é cadastrado em nosso banco de dados.
Segui código:
<?php
include "conecta.php";
mysqli_set_charset($conecta, "utf8");
$recupera = $_POST['recupera'];
$email = $_POST['email'];
switch($recupera){
case "recupera":
recupera_senha($email);
break;
default:
include "formulario_senha_perdida.html";
break;
}
function recupera_senha($email){
if(!isset($email)){
echo "Você esqueceu de preencher seu email.<br />
<strong>Use o mesmo email que utilizou em seu cadastro.</strong><br /><br />";
include "formulario_senha_perdida.html";
exit();
}
// Checando se o email informado está cadastrado
$sql_check = mysqli_query($conecta, "SELECT * FROM usuario WHERE email='{$email}'");
$sql_check_num = mysqli_num_rows($sql_check);
if($sql_check_num == 0){
echo "Este email não é cadastrado em nosso banco de dados.<br /><br />";
include "formulario_senha_perdida.html";
exit();
}
// Se tudo OK vamos gerar uma nova senha e enviar para o email do usu⳩o!
function makeRandomPassword(){
$salt = "abchefghjkmnpqrstuvwxyz0123456789";
srand((double)microtime()*1000000);
$i = 0;
while ($i <= 7){
$num = rand() % 33;
$tmp = substr($salt, $num, 1);
$pass = $pass . $tmp;
$i++;
}
return $pass;
}
$senha_randomica = makeRandomPassword();
$senha = md5($senha_randomica);
$sql = mysqli_query($conecta, "UPDATE usuario SET senha='{$senha}' WHERE email ='{$email}'");
$headers = "MIME-Version: 1.0\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\n";
$headers .= "From: MKYS - 1Copa MKYS de Jiu Jitsu.<contato@copamkys.com.br>"; //COLOQUE TEU EMAIL
$subject = "Sua nova senha no site COPA MKYS";
$message = "Olá, redefinimos sua senha.<br /><br />
<strong>Nova Senha</strong>: {$senha_randomica}<br /><br />
<a href='http://www.copamkys.com.br/copa1/index.php'>http://www.copamkys.com.br/copa1/index.php</a><br /><br />
Obrigado!<br /><br />
Carlos Louvato (Organização)<br /><br /><br />
Esta é uma mensagem automática, por favor não responda!";
mail($email, $subject, $message, $headers);
echo "<script language=javascript>alert( 'EMAIL ENVIADO COM SUCESSO! VERIFIQUE SEU E-MAIL!!' );location.href='index.php';</script>";
}
?>
Lembrando que o email de recuperação vem de um formulario HTML.
Grato a todosDiscussão (11)
Carregando comentários...