Estou tentando criar um sistema de envios de comentários. Estou tendo problema com alerta. Primeiramente era do envio. Depois que eu preenchia os campos, enviava e dava um refresh na página(f5), ele envia os mesmos dados, mas colocando o ‘header(location)’, resolvi mas a mensagem não aparece mais e não sei como consigo resolver isso. O outro problema é que quando os campos estão vazios e aparece a mensagem como programei para preencher os campos e dou um f5, ele aparece um alert. A página dá um refresh e continua a mensagem lá e se eu dou refresh de novo, acontece a mesma coisa. Fica nesse loop infinito. Tive que fazer junção das imagen
<?php
$host = 'localhost';
$user = 'root';
$password = '';
$banco = 'comentarios';
$bdconnect = mysqli_connect($host, $user, $password, $banco);
?>
<!DOCTYPE html>
<html lang="pt-br">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Sistema de comentários</title>
</head>
<body>
<form action="" method="post">
<span>Nome: </span><input type="text" name="nome"><br>
<span>Email: </span><input type="text" name="email"><br>
<span>Mensagem: </span><input type="text" name="mensagem"><br>
<input type="submit" name="enviar" value="Enviar"><br>
</form>
<?php
if(isset($_POST['enviar'])){
$nome = $_POST['nome'];
$email = $_POST['email'];
$mensagem = $_POST['mensagem'];
if($nome == '' and $email == '' and $mensagem == ''){
echo 'Preencha todos os campos';
} else{
echo 'Enviado com sucesso';
$insert = mysqli_query($bdconnect, "INSERT INTO comentario_bd(nome, email, mensagem)
VALUES('$nome', '$email', '$mensagem')");
header('Location:index.php');
}
}
?>
</body>
</html>