bobmarley 0 Denunciar post Postado Outubro 31, 2012 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
Vadio 13 Denunciar post Postado Outubro 31, 2012 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
bobmarley 0 Denunciar post Postado Outubro 31, 2012 entao cara.. aqui a pagina ficou tudo branca, nao aconteceu nd! mas a msg do formulario chegou no email Compartilhar este post Link para o post Compartilhar em outros sites
Vadio 13 Denunciar post Postado Outubro 31, 2012 você ta usando ajax? Compartilhar este post Link para o post Compartilhar em outros sites
bobmarley 0 Denunciar post Postado Outubro 31, 2012 to nada cara.. é só esse formulario simples que achei num tutorial http://www.brunodulcetti.com/blog/2006/01/25/formulario-em-php.html só que qdo envia, a pagina fica toda branca, com a msg "enviado com sucesso" eu queria que aparecesse isso, só na div conteudo, entendeu? Compartilhar este post Link para o post Compartilhar em outros sites
Vadio 13 Denunciar post Postado Outubro 31, 2012 faz assim... enviaEmail.php <?phpfunction 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
bobmarley 0 Denunciar post Postado Outubro 31, 2012 Vadio nao funcionou nao ;/ erro 404.. e nao chegou nada no email tambem! Compartilhar este post Link para o post Compartilhar em outros sites
Vadio 13 Denunciar post Postado Outubro 31, 2012 arruma o action pra especifica o local do arquivo Compartilhar este post Link para o post Compartilhar em outros sites
bobmarley 0 Denunciar post Postado Outubro 31, 2012 entaoo.. funcionou cara, apareceu a msg na tela branca, e o email chegou como faço pra essa mensagem aparecer dentro da div conteudo? Compartilhar este post Link para o post Compartilhar em outros sites
Vadio 13 Denunciar post Postado Outubro 31, 2012 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
bobmarley 0 Denunciar post Postado Outubro 31, 2012 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
Vadio 13 Denunciar post Postado Outubro 31, 2012 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
bobmarley 0 Denunciar post Postado Outubro 31, 2012 é 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
Vadio 13 Denunciar post Postado Outubro 31, 2012 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
bobmarley 0 Denunciar post Postado Novembro 6, 2012 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