Não faz update no BD - PHP Mysql
01/08/2022
0
Olá, amigos, estou tentando uma "redefinição de senha", onde a página gera uma nova senha, envia essa senha por e-mail e em seguida faz update no banco de dados.
Tá gerando a senha e enviando o email, mas não faz o update.
Alguém pode ajudar? Segue meu código:
Tá gerando a senha e enviando o email, mas não faz o update.
Alguém pode ajudar? Segue meu código:
<?php require_once '../conecta.php'; if(isset($_POST[ok])){ $email = ($_POST['email']); $sql = "SELECT * FROM usuarios WHERE email='$email'"; $result = mysqli_query($conn, $sql); $row = $result->fetch_assoc(); $total = count($row); if($total == 0){ echo '<script> alert ("Erro! E-mail não cadastrado.")</script>'; }else{ $novasenha = substr(sha1(time()), 0, 8); $nscriptografada = sha1(sha1($novasenha)); $to = $email; $subject = 'Nova Senha'; $message = "A nova senha é: $novasenha"; $headers = "MIME-Version: 1.1\r\n"; $headers .= "Content-type: text/plain; charset=UTF-8\r\n"; $headers .= "From: meuemail@dominio.com\r\n"; $headers .= "Return-Path: meuemail@dominio.com\r\n"; $envio = mail($to, $subject, $message, $headers); $sql = "UPDATE usuarios SET senha = $nscriptografada WHERE email = $email"; if ($conn->query($sql) === TRUE) { echo '<script> alert ("Sucesso")</script>'; } else { echo '<script> alert ("Erro. ")</script>'; } } } ?> <html lang="pt-br"> <head> <meta charset="utf-8"> <title>SGI - PAINEL DE CONTROLE - ALTERAR SENHA</title> <link type="text/css" rel="stylesheet" media="screen" href="estilos.css" /> <script type="text/javascript" language="javascript"> function valida_form(){ if(document.getElementById("email").value == ""){ alert('Por favor, digite o E-mail do usuário!'); document.getElementById("email").focus(); return false } } </script> </head> <body> <div style="text-align:center"><h2><font color="#ffffff">ESQUECI MINHA SENHA...</h2></font><br><br></div> <div id="form"> <form method="POST" action="" onsubmit="return valida_form(this)"> <label>Informe seu e-mail:</label><input value="<?php echo $_POST[email]; ?>" type="email" id="email" name="email" placeholder="Seu E-mail" maxlength="520"><br> <input type="submit" name="ok" value="SOLICITAR NOVA SENHA"><br> </form> </div> </body> </html>
Edilson Santiago
Curtir tópico
+ 0
Responder
Posts
02/08/2022
Leonardo Xavier
Tente alterar o conteúdo de sua variável total para:
mysqli_num_rows($QuerySql);
$sql = "SELECT * FROM usuarios WHERE email='$email'";
$result = mysqli_query($conn, $sql);
$row = $result->fetch_assoc();
$total = count($row);
para:
$sql = "SELECT * FROM usuarios WHERE email='$email'";
$result = mysqli_query($conn, $sql);
$total = mysqli_num_rows($result);
//$row = $result->fetch_assoc();
//$total = count($row);
mysqli_num_rows($QuerySql);
$sql = "SELECT * FROM usuarios WHERE email='$email'";
$result = mysqli_query($conn, $sql);
$row = $result->fetch_assoc();
$total = count($row);
para:
$sql = "SELECT * FROM usuarios WHERE email='$email'";
$result = mysqli_query($conn, $sql);
$total = mysqli_num_rows($result);
//$row = $result->fetch_assoc();
//$total = count($row);
Responder
Clique aqui para fazer login e interagir na Comunidade :)