I have seen forms with the "E-mail sent successfully" notice on the same page of the form after it has been sent. my form worked fine when I made the php file separate and the form called it: action="send.php".
But I find it more interesting that the user is not white screens or additional screens without precision. Then I tried to direct my action to the same page: action="#". But then I had all the variables as defined. I tried to solve it and I could not, Where is the error? I imagine it should be something simple.
The code is a functional comment system, but I have tried adaptations to transfer the phrase to the same page, then it stopped working.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Classificdos</title>
</head>
<style>
div#container{
width: 50%;
text-align: justify;
background: blue;
margin:0 auto;
font-family: helvetica;
padding: 3%;
}
</style>
<body>
<div id="container">
<h1>NOTICIA DO DIA</h1>
<hr/>
<h3>Deixe seu comentário</h3>
<?php
//error_reporting(0);
if(isset($_POST['comentar'])){
$nome = $_POST['nome'];
$email = $_POST['email'];
$site = $_POST['site'];
$comentario = $_POST['comentario'];
$identificacao= $_POST['identificacao'];
$moderacao = $_POST['moderar'];
}
if(isset($_FILES['avatar']))
{
date_default_timezone_set("Brazil/East"); //Definindo timezone padrão
$ext = strtolower(substr($_FILES['avatar']['name'],-4)); //Pegando extensão do arquivo
$new_name = date("Y.m.d-H.i.s") . $ext; //Definindo um novo nome para o arquivo
$dir = 'uploads/'; //Diretório para uploads
move_uploaded_file($_FILES['avatar']['tmp_name'], $dir.$new_name); //Fazer upload do arquivo
}
$headers = "Content-type:text/html; charset=UTF-8";
$headers = "From: $email";
$para = "[email protected]";
$mensagem = "De: $nome";
$mensagem .= "E-mail: $email";
$mensagem .= "Site: $site";
$mensagem .= "Comentario: $comentario";
$envia = mail($para, "Comentário Efetuado no site", $mensagem, $headers);
$insere = ("INSERT INTO comentarios (id, nome, email, site, comentario, identificacao, moderacao, avatar ) VALUES ('NULL', '$nome', '$email', '$site', '$comentario', '$identificacao', '$moderacao', '$new_name')"); //new_name e o novo nome da $avatar defidido por horas.
$insereBanco = mysql_query($insere);
echo "<p><strong>$nome</strong>, seu comentário foi efetuado com sucesso e aguarda liberação. Obrigado!";
echo "<p><a href='Sistema_comentarios.php'>Voltar</a></p>";
?>
<form id="" action="" method="post" enctype="multipart/form-data">
<fieldset>
<legend>Preencha os Campos Abaixo:</legend>
<label for="nome">NOME: </label>
<input type="text" required id="nome" name="nome">
<div class="clear"></div>
<label for="email">E-MAIL: </label>
<input type="text" id="email" name="email">
<div class="clear"></div>
<label for="site">SITE (Opcional): </label>
<input type="text" id="site" name="site">
<div class="clear"></div>
<label for="comentario">Deixe seu Comentário</label><br/>
<textarea name="comentario" id="comentario" cols="60" rows="10"></textarea>
<label id="escolher_foto" for="foto">Escolher uma Foto</label>
<input type="file" name="avatar" id="avatar" required="">
<input type="submit" value="Comentar"><br/>
<input type="hidden" name="identificacao" value="1"/>
<input type="hidden" name="moderar" value="nao"/>
</fieldset>
</form>
</div>
</body>
</html>