Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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..
entao cara.. aqui a pagina ficou tudo branca, nao aconteceu nd!
mas a msg do formulario chegou no email
você ta usando ajax?
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?
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>Vadio nao funcionou nao ;/
erro 404.. e nao chegou nada no email tambem!
arruma o action pra especifica o local do arquivo
entaoo.. funcionou cara, apareceu a msg na tela branca, e o email chegou
como faço pra essa mensagem aparecer dentro da div conteudo?
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
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..
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
é 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;
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...
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?
ajax. faça o envio do form com ajax
enviar.php
//...
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
//...
depois onde está sua div você faz assim