Eu estava com o mesmo problema e resolvi com o código abaixo:
<?phpecho "<html><head><title> Enviando o formulário... </title></head>";// Variaveis originadas no enviar.php$nome = $_POST['nome'];$email = $_POST['email'];$assunto = $_POST['assunto'];$mensagem = $_POST['mensagem'];// adicionei a captura do ip do remetente $ip = $_SERVER['REMOTE_ADDR'];//Seu email, para onde irao as informações do formulário$mail_destino = "gersonbatista@gmail.com.";echo "<body bgcolor=\"#FFFFFF\" leftmargin=\"10\" topmargin=\"10\" marginwidth=\"0\" marginheight=\"0\"><center><font class=\"texto\">";//Mensagem de cabeçalho do email$mail_header = "Mensagem do formulário on line do SITE.";//Mensagem para o email de resposta$msg_reply = "Olá $nome,\nRecebemos o seu email retornaremos o mais rápido possível.\n\nObrigado pelo seu contacto!\n\n Esta é uma mensagem automática de confirmação.\n Por Favor não responda este e-mail.\n $ip";//Obrigatoriedadeif ($email!="" and $assunto!="" and $mensagem!="") { $msg.="$mail_header\n\n"; $msg.="Email: $email\n"; $msg.="Assunto: $assunto\n"; $msg.="Mensagem: $mensagem\n"; $msg.="ip da origem: $ip"; if (mail($mail_destino, "Formulário do SITE: $assunto", $msg, "From:$nome<$email>")) { //Imprimindo confirmação de envio echo " </font></center> <html> <meta http-equiv=refresh content=10;URL=./></html>"; echo "<font class=\"texto\">"; echo "<b>olá! $nome</b>,<br><br>sua mensagem:<br> <font color=\"#FF0000\"><b>$mensagem </b></font><br>Foi enviada com sucesso!<br><br>"; echo "Obrigado!<br>vc receberá um e-mail de confirmação desta mensagem<br><br>endereço ip: <b>$ip</b></font> "; //Enviando mensagem de confirmação para o email do internauta mail("$nome<$email>", "Re:Formulário enviado: $assunto", $msg_reply, "From:<$mail_destino>"); } else echo " <meta http-equiv=refresh content=3;URL=../> </html><center><br><br><font color=red> <b>Erro ao enviar e-mail!</b> </font></center> "; }else { //Alerta sobre os campos obrigatórios echo " <br><br><center> $msg_erro <br><br> <a href=\"javascript:window.history.go(-1)\" class=\"links\">Por favor, volte e preencha corretamente.</a> </center> "; }?>
O meu scrip tá em um arquivo externo, no meu caso o arquivo é enviar.php
Tem de declarar no arquivo html do formulário, no início "form", como abaixo:
<form method="post" action="js/enviar.php"> local onde está o arquivo enviar.php
No meu caso, o formulário possui 4 campos e somente 3 são de preenchimento obrigatório.
Espero ter ajudado.
Abraço
Salve comunidade !!!
Preciso da ajuda de vocês no seguinte escript:
É que quando clico no enviar o form ele abre uma nova janela informando que os dados foram enviados com sucesso !! e Realmente estou recebdendo de boa
Preciso que quando clicar em enviar preciso que abra um uma janela de alerta! e não uma nova pagina e que seja feita uma verificação nos campos: Nome, e-mail e Tel se foram preenchidos realmente e se é valido o e-mail, tornando obrigatório estes campos eu não consegui ver onde estou errando
Fora isto esta enviando os dados, mas eu preciso que ao invés de abrir uma nova página ele abrisse um tela um pop up ou um alert na mesma pagina com esta informação
Seria possivel? Alguem pode me ajudar a fazer isto estou disponibilizando o script que estou usando logo abaixo:
Aqui formulario de contato<form name="senddata" method="post" action="enviar.php"> <table width="100%" border="0" cellspacing="0" cellpadding="0" class="gray_light"> <tr> <td width="4%" align="center" style="height:24; padding-right:5; padding-top:1 "><p> </p></td> <td width="17%" align="left" style="height:24; padding-right:5; padding-top:1 ">Nome:</td> <td colspan="3" style="padding-top:1 "><input name="nome" class="blue_b" id="nome" style="width:163; height:15; border:1px solid #909090; background-color:#F6F6F6; font-size: 10px;" size="15" maxlength="30"></td> </tr> <tr> <td width="4%" align="center" style="height:24; padding-right:5 "> </td> <td width="17%" align="left" style="height:24; padding-right:5 ">Assunto:</td> <td colspan="3" style="padding-top:1 "><input name="assunto" class="blue_b" id="assunto" style="width:163; height:15; border:1px solid #909090; background-color:#F6F6F6; font-size: 10px;" size="15" maxlength="30"></td> </tr> <tr> <td width="4%" align="right" style="height:24; padding-right:5px"> </td> <td width="17%" align="left" style="height:24; padding-right:5px">E-mail:</td> <td colspan="3" style="padding-top:1 "><input name="email" class="blue_b" id="email" style="width:163; height:15; border:1px solid #909090; background-color:#F6F6F6; font-size: 10px;" size="15" maxlength="30"></td> </tr> <tr> <td height="23" align="center" style="padding-right:5 "> </td> <td height="23" align="left" style="padding-right:5 "><p>Telefone:</p></td> <td colspan="3" style="padding-top:1 "><input name="fone" class="blue_b" id="fone" style="width:163; height:15; border:1px solid #909090; background-color:#F6F6F6; font-size: 10px;" size="15" maxlength="30"></td> </tr> <tr> <td> </td> <td>Comentário:</td> <td colspan="3" align="center" style="padding-right:22 "><strong><span style="padding-top:1 "> <textarea name="mensagem" cols="30" rows="40" class="blue_b" id="cometario" style="width:250px; height:100px; overflow:auto; border:1px solid #909090; background-color:#F6F6F6; font-size: 10px;"></textarea> </span></strong></td> </tr> <tr> <td colspan="2"> </td> <td width="28%" align="center" style="padding-right:22 "><input name="Enviar" type="submit" class="nlack_b" id="submit" value="Enviar"></td> <td width="25%" align="center" style="padding-right:22 "><input name="Limpar" type="reset" class="nlack_b" id="reset" value="Limpar"></td> <td width="26%" align="center" style="padding-right:22 "> </td> </tr> </table> </form>
Aqui script php<?php // Variaveis originadas no contato.php $nome = $_POST['nome']; $email = $_POST['email']; $fone = $_POST['fone']; $mensagem = $_POST['mensagem']; $assunto = $_POST['assunto']; $data = date("d/m/y"); //função para pegar a data de envio do e-mail $hora = date("H:i"); //para pegar a hora com a função date // adicionei a captura do ip do remetente $ip = $_SERVER['REMOTE_ADDR']; //Seu email, para onde irao as informações do formulário $mail_destino = "meu_e-mail@hotmail.com"; echo "<body bgcolor=\"#FFFFFF\" leftmargin=\"10\" topmargin=\"10\" marginwidth=\"0\" marginheight=\"0\"> <center><font class=\"texto\">"; //Mensagem de cabeçalho do email $mail_header = "Re: Contato pelo site."; //Mensagem para o email de resposta $msg_reply = "Olá $nome,\nRecebemos seu contato.\n\nObrigado!\n\n Esta é uma mensagem automática de confirmação.\n Não necessita de resposta.\n Em breve responderemos seu contato.\n\n Seu IP:$ip\nData: $data\nHora: $hora"; //Obrigatoriedade if ($nome!="" and $email!="" and $mensagem!="") { $msg .="Data: $data "; $msg .="Hora: $hora\n\n"; $msg .="Nome : $nome\n"; $msg .="E-mail : $email\n"; $msg .="Assunto : $assunto\n"; $msg .="Telefone: $fone\n"; $msg .="Mensagem: $mensagem\n\n"; $msg .="Ip do visitante: $ip\n"; if (mail($mail_destino, "$assunto", "$msg", "From:$nome<$email>")) { //Imprimindo confirmação de envio echo "</font></center> <html><center> <meta http-equiv=refresh content=10;URL=./></html>"; echo "<font class=\"texto\">"; echo "<b>Olá! $nome</b>,<br><br>Sua mensagem foi enviado com sucesso!<br><br>"; echo "Você receberá um e-mail de confirmação<br><br>Seu IP: <b>$ip</b></font> "; //Enviando mensagem de confirmação para o email do internauta mail("$nome<$email>", "Re: $assunto", "$msg_reply", "From:<$mail_destino>"); } else echo " <meta http-equiv=refresh content=3;URL=../> </center></font></html><center><br><br><font color=red> <b>Erro ao enviar e-mail!</b> </font></center> "; } else { //Alerta sobre os campos obrigatórios echo " <br><br><center> $msg_erro <br><br> <a href=\"javascript:window.history.go(-1)\" class=\"links\">Por favor, volte e preencha corretamente.</a> </center> "; } ?>