Ir para conteúdo

POWERED BY:

Arquivado

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

bobmarley

Formulario

Recommended Posts

Galera fiz um formulario aqui seguindo um tutorial funcionou tudo certinho.

Só queria saber uma coisa.

 

O formulario, você clica em enviar, ele envia, e aparece a msg que foi enviado com sucesso!

 

Mas abre essa pagina na tela inteira, eu gostaria que aparecesse essa pagina de enviado com sucesso, dentro da div conteudo, entenderam?

 

o codigo do form:

 






<div id="formulario">

<div id="forms">
<form name="teste" method="post" action="includes/enviar.php" class="formulario">


<h3> Envie uma mensagem </h3>
<br>

<div id="nome">Nome: <input type="text" name="nome" class="nom"><p> </div>

<div id="tel">Telefone: <input type="text" name="tel" class="te"><p></div>

<div id="email">E-mail: <input type="text" name="email" class="em"><p></div>


<div id="msg"> Mensagem:<p><textarea cols=40 rows=5 name="mensagem"></textarea><p></div>



<div id="botao"><input type="submit" value="Enviar"></div>
</form>
</div>


</div>






 

e do enviar.php:

 

<?php
$nome = $_POST['nome'];
$tel = $_POST['tel'];
$email = $_POST['email'];
$mensagem = $_POST['mensagem'];


$msg = "<font face='Verdana' size='1'><b>Nome:</b>	\t$nome</font><br>";
$msg = "<font face='Verdana' size='1'><b>Telefone:</b>	\t$nome</font><br>";
$msg .= "<font face='Verdana' size='1'><b>E-mail:</b>	\t$email</font><br>";
$msg .= "<font face='Verdana' size='1'><b>Mensagem:</b>	\t$mensagem</font>";

$mensagem = "$msg";
$remetente = "$email";
$destinatario = "teste@teste.com";
$assunto = "Contato";
$headers = "From: ".$remetente."\nContent-type: text/html"; # o 'text/html' é o tipo mime da mensagem
if(!mail($destinatario,$assunto,$mensagem,$headers)){
print "falha no envio da mensagem";
} else {


echo "<script>window.location.href='obrigado.php'</script>";


}
?>

 

 

muito obrigado galera..

Compartilhar este post


Link para o post
Compartilhar em outros sites

ajax. faça o envio do form com ajax

 

enviar.php

//...
if(!mail($destinatario,$assunto,$mensagem,$headers)) print "falha no envio da mensagem";
else echo 1;

 

se response do ajax quando status code == 200 diferente de 1 alerta erro

se não insere texto no elemento

 

 

sem ajax...

copia esse cod. do envia.php

coloca na mesma página do form em seguida altera o action do form para a própria página

 

faz essa alteracao

//...
if(!mail($destinatario,$assunto,$mensagem,$headers)) $erro = false;
else $erro = true;

 

depois onde está sua div você faz assim

<div id="respostaDoFormulario">
 <?php if($_POST && $erro) : ?>
   <span>Email não pode ser enviado</span>
 <?php endif; ?>
</div>

Compartilhar este post


Link para o post
Compartilhar em outros sites

faz assim...

 

enviaEmail.php

<?php

function enviaEmailAction(){

$nome = $_POST['nome'];

$tel = $_POST['tel'];

$email = $_POST['email'];

$mensagem = $_POST['mensagem'];

 

 

$msg = "<font face='Verdana' size='1'><b>Nome:</b> \t$nome</font><br>";

$msg.= "<font face='Verdana' size='1'><b>Telefone:</b> \t$tel</font><br>";

$msg.= "<font face='Verdana' size='1'><b>E-mail:</b> \t$email</font><br>";

$msg.= "<font face='Verdana' size='1'><b>Mensagem:</b> \t$mensagem</font>";

 

$mensagem = "$msg";

$remetente = "$email";

$destinatario = "teste@teste.com";

$assunto = "Contato";

$headers = "From: ".$remetente."\nContent-type: text/html"; # o 'text/html' é o tipo mime da mensagem

if(!mail($destinatario,$assunto,$mensagem,$headers)) return false;

return true;

}

 

if($_POST) $erro = enviaEmailAction();

?>

<html>

<head></head>

<body>

<div id="respostaDoFormulario">

<?php if($_POST && $erro) : ?>

<span>Email não pode ser enviado</span>

<?php endif; ?>

</div>

<div id="formulario">

 

<div id="forms">

<form name="teste" method="post" action="enviaEmail.php" class="formulario">

 

 

<h3> Envie uma mensagem </h3>

<br>

 

<div id="nome">Nome: <input type="text" name="nome" class="nom"><p> </div>

 

<div id="tel">Telefone: <input type="text" name="tel" class="te"><p></div>

 

<div id="email">E-mail: <input type="text" name="email" class="em"><p></div>

 

 

<div id="msg"> Mensagem:<p><textarea cols=40 rows=5 name="mensagem"></textarea><p></div>

 

 

 

<div id="botao"><input type="submit" value="Enviar"></div>

</form>

</div>

 

 

</div>

</body>

</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

como você está inserindo o conteúdo do form na página?

 

template? ajax?

 

 

echo "<script>window.location.href='obrigado.php'</script>";

 

essal inha te redireciona para obrigado.php

Compartilhar este post


Link para o post
Compartilhar em outros sites

no index na div conteudo ta assim:

 


<div id="conteudo">



                 <?php




                      error_reporting(E_ALL ^ E_NOTICE);


                      switch ($_GET['pag'])
                      {

                        case "quemsomos": include("includes/quemsomos.php"); break;
                        case "contato": include("includes/form.php"); break;
                        case "serv": include("includes/serv.php"); break;

                                   default: include("includes/home.php"); break;
                      }
                ?>    



                 </div>

 

 

ai tem o form.php:

 



<div id="formulario">

<div id="forms">
<form name="teste" method="post" action="includes/enviar.php" class="formulario">


<h3> Envie uma mensagem </h3>
<br>

<div id="nome">Nome: <input type="text" name="nome" class="nom"><p> </div>

<div id="tel">Telefone: <input type="text" name="tel" class="te"><p></div>

<div id="email">E-mail: <input type="text" name="email" class="em"><p></div>


<div id="msg"> Mensagem:<p><textarea cols=40 rows=5 name="mensagem"></textarea><p></div>



<div id="botao"><input type="submit" value="Enviar"></div>
</form>
</div>


</div>

 

 

 

e o arquivo enviar.php:

 

<?php
function enviaEmailAction(){
$nome = $_POST['nome'];
$tel = $_POST['tel'];
$email = $_POST['email'];
$mensagem = $_POST['mensagem'];


$msg = "<font face='Verdana' size='1'><b>Nome:</b> \t$nome</font><br>";
$msg.= "<font face='Verdana' size='1'><b>Telefone:</b> \t$tel</font><br>";
$msg.= "<font face='Verdana' size='1'><b>E-mail:</b> \t$email</font><br>";
$msg.= "<font face='Verdana' size='1'><b>Mensagem:</b> \t$mensagem</font>";

$mensagem = "$msg";
$remetente = "$email";
$destinatario = "email@email.com";
$assunto = "Contato";
$headers = "From: ".$remetente."\nContent-type: text/html"; # o 'text/html' é o tipo mime da mensagem
if(!mail($destinatario,$assunto,$mensagem,$headers)) return false;
return true;
}

if($_POST) $erro = enviaEmailAction();
?>
<html>
<head></head>
<body>
<div id="respostaDoFormulario">
<?php if($_POST && $erro) : ?>
<span>Email não pode ser enviado</span>
<?php endif; ?>
</div>

 

 

ta funcionando tudo certo o formulario, chega a mensagem no email, e aparece a mensagem que foi enviado corretamente, que é o obrigado.php, mas eu queria que esse obrigado.php abrisse na div conteudo, igual as outras paginas.

 

Isso que nao to conseguindo fazer..

Compartilhar este post


Link para o post
Compartilhar em outros sites

tendi..

 

faz assim

 

 

 

<?php error_reporting(E_ALL ^ E_NOTICE); ?>
<?php
   function enviaEmailAction(){
       $nome = $_POST['nome'];
       $tel = $_POST['tel'];
       $email = $_POST['email'];
       $mensagem = $_POST['mensagem'];

       $msg = "<font face='Verdana' size='1'><b>Nome:</b> \t$nome</font><br>";
       $msg.= "<font face='Verdana' size='1'><b>Telefone:</b> \t$tel</font><br>";
       $msg.= "<font face='Verdana' size='1'><b>E-mail:</b> \t$email</font><br>";
       $msg.= "<font face='Verdana' size='1'><b>Mensagem:</b> \t$mensagem</font>";

       $mensagem = "$msg";
       $remetente = "$email";
       $destinatario = "email@email.com";
       $assunto = "Contato";
       $headers = "From: ".$remetente."\nContent-type: text/html"; # o 'text/html' é o tipo mime da mensagem
       if(!mail($destinatario,$assunto,$mensagem,$headers)) return false;
       return true;
   }
   $erro = false;
   if($_POST) $erro = enviaEmailAction();
?>
<div id="conteudo">
   <?php if($_GET['pag'] == 'contato') : ?>
       <div id="respostaDoFormulario">
           <?php if($_POST && $erro) : ?>
           <span>Email não pode ser enviado</span>
           <?php endif; ?>
       </div>
   <?php endif; ?>

   <?php
       switch ($_GET['pag']) {
           case "quemsomos": include("includes/quemsomos.php"); break;
           case "contato": include("includes/form.php");

               break;
           case "serv": include("includes/serv.php"); break;

           default: include("includes/home.php"); break;
       }
   ?>
</div>

 

deixa o action vazio.

 

acho q é isso q precisa se

Compartilhar este post


Link para o post
Compartilhar em outros sites

é o seguinte, deixar o action vazio é o do form.php neh?

se eu deixo ele vazio, a pagina só da uma refresh e nao acontece nada.

se eu colocar o enviar.php no action

da esses erros..

 

 

Warning: include(includes/home.php) [function.include]: failed to open stream: No such file or directory in /home/loads561/public_html/includes/enviar.php on line 42

 

Warning: include(includes/home.php) [function.include]: failed to open stream: No such file or directory in /home/loads561/public_html/includes/enviar.php on line 42

 

Warning: include() [function.include]: Failed opening 'includes/home.php' for inclusion (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/loads561/public_html/includes/enviar.php on line 42

 

 

 

a linha 42 é essa:

 

default: include("includes/home.php"); break;

Compartilhar este post


Link para o post
Compartilhar em outros sites

q m***** em cara..

um milhão de includes sei lá qual o erro...

 

esse erro q você passo diz q includes/home.php não existe...

 

 

usa ajax pra facilita tudo...

Compartilhar este post


Link para o post
Compartilhar em outros sites

entao, eu lembro que uma vez eu consegui fazer essa pagina obrigado.php

abrir dentro da div conteudo!

 

mas eu nao to lembrando como fiz isso...

 

galeraaa

 

testem pelo site: www.loadsolutions.com.br

 

a pagina obrigado.php abre na tela inteira, queria ela abrindo só na div conteudo, sem sumir o menu, topo, e rodapé..

 

 

alguem sabe como fazer?

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.