Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

rmlm

[Resolvido] Mandar mensagem para div

Recommended Posts

Boas pessoal,

 

Eu tenho uma base dados para onde é enviado as mensagens que o utilizador escreve num formulário!

Agora o que eu queria é que quando a mensagem seja envia apareça numa div: "Mensagem enviada!"

 

Vou deixar o código para vocês perceberem melhor:

 

Aqui é a página home.php que contem o seguinte formulário:

<form action="inserir_na_bd_mensagens.php" method="post">
<div class="titulo"><b>Nome:</b></div>
<div><input name="nome" type="text"/></div>
<div class="titulo"><b>Email:</b></div>
<div><input name="email" type="text"/></div>
<div class="titulo"><b>Mensagem:</b></div>
<div><textarea name="mensagem"></textarea></div>

       <p class="nhover"><button name="postmsg" type="submit" value="Enviar">Enviar</button></p>

       <div id="msg">
            <!-- DIV ONDE APARECERA A MENSAGEM DE QUE FALO -->                    
       </div>
</form>

 

Depois tenho a página inserir_na_bd_mensagens.php que trata de enviar os dados para a base de dados!

<?php
require("connectdb.php");

$nome = mysql_real_escape_string($_POST['nome']);
$email = mysql_real_escape_string($_POST['email']);
$mensagem = mysql_real_escape_string($_POST['mensagem']);

if($nome == '' || $email == '' || $mensagem ==''){
echo "Preencha todos os campos";
}else{
       mysql_query("INSERT INTO mensagens (nome, email, mensagem,respondida) VALUES ('$nome', '$email', '$mensagem','Nao')");
echo "Mensagem enviada!";
}
?>

 

Pronto é isto, onde tem o echo "Preencha todos os campos"; devia ter o código que envia a mensagem para a div! Se alguem souber como faço isso que me ajude.

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

bem , você pode gravar numa sessão a mensagen e se enviar você fazer aparecer ali

 

if($nome == '' || $email == '' || $mensagem ==''){
       echo "Preencha todos os campos";
}else{
       mysql_query("INSERT INTO mensagens (nome, email, mensagem,respondida) VALUES ('$nome', '$email', '$mensagem','Nao')");
       $_SESSION['msg_send'] = 'Mensagem Enviada!';
}

depois pra pegar e so botar na div

 


   <div id="msg">
            echo $_SESSION['msg'];                    
   </div>



lembre-se de iniciar as sessoes antes , acho que se não for isso so com ajax :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você pode colocar a mensagem em uma variável:

 

$msg_erro = 'Preencha todos os campos.';

 

E dentro da div verificar se a variável existe e, se existir, exibir a mensagem contida nela:

 

<div id="msg"><?php if ( isset($msg_erro) ) echo $msg_erro; ?></div>

 

 

PS: Do jeito que você está fazendo ficaria melhor se fizesse a validação via JavaScript ou Ajax. ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

no caso o ajax seria assim

 

<script type="text/javascript" src="http://code.jquery.com/jquery-1.5.min.js"></script>
<script type="text/javascript">
 $(document).ready(function(){

     $("#send").click(function(){

	 var nome = $("#nome").val();
	 var email = $("#email").val();
	 var msg = $("#msg").val();
	  $.ajax({

		  type: "POST",
		  url: "pagina que vai gravar no banco.php",
		  data: "nome="+nome+"&email="+email+"&mensagem="+msg,
		  success: function(data){
		     $("#msg").html(data);
		  }

	  });

  });

 });
</script>
<form>
       <div class="titulo"><b>Nome:</b></div>
       <div><input name="nome" id="nome" type="text"/></div>
       <div class="titulo"><b>Email:</b></div>
       <div><input name="email" id="email" type="text"/></div>
       <div class="titulo"><b>Mensagem:</b></div>
       <div><textarea id="msg" name="mensagem"></textarea></div>

       <p class="nhover"><input type="button" value="enviar" id="send"></p>

       <div id="msg">

       </div>
</form>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado pessoal por todas estas respostas! quando chegar a casa já vou testar! :joia:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Beleza , qualquer duvida quanto ao ajax posta ai .!!!

 

Abraços ~ Boa Sorte ;)

 

Deu certo!!

Obrigado a todos ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Gente desculpe reabrir este tópico, mas estou enfrentando problemas similares.

Na verdade estou usando o PHP Mailer.

No inicio da minha index coloquei

<?php

include envia.php

?>

É nesse arquivo que verifico o captcha e tem todas as informações de envio do e-mail, incluindo as mensagens de erro e sucesso.

Neste caso envio para a propria index o formulário.

Tentei adaptar o código para o ajax informado, mas não esta dando certo, alguém tem alguma ideia?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.