Fórum Não faz update no BD - PHP Mysql #618481
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
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)