Matos-BA Postado Março 6, 2007 Denunciar Share Postado Março 6, 2007 Olá pessoal, tenho abaixo esse envio de formulário para email e preciso dar uma melhorada nele.Será que teria como ´melhorar para só enviar, se os dados estiverem preenchido e o email for válido??Se alguém puder me ajudar ficarei muito gratoabraço a todosMatos<?//pega as variaveis por POST$nome = $_POST["nome];$email = $_POST["email];$assunto = $_POST["assunto];$mensagem = $_POST["mensagem];global $email; //função para validar a variável $email no script todo$data = date("d/m/y"); //função para pegar a data de envio do e-mail$ip = $_SERVER['REMOTE_ADDR']; //função para pegar o ip do usuário$navegador = $_SERVER['HTTP_USER_AGENT']; //função para pegar o navegador do visitante$hora = date("H:i"); //para pegar a hora com a função date//aqui envia o e-mail para vocêmail ("nome@email.com.br", //email aonde o php vai enviar os dados do form "$form", "$form\n$traco\nNome: $nome\nEmail: $email\nAssunto: $assunto\n$traco\nMensagem:\n$mensagem\ nData: $data\nIp: $ip\nNavegador: $navegador\nHora: $hora", "From: $email" );//aqui são as configurações para enviar o e-mail para o visitante$site = "www.site.com"; //o e-mail que aparecerá na caixa postal do visitante$titulo = "RE: E-mail para BandoNet"; //titulo da mensagem enviada para o visitante$msg = "Sua mensagem foi enviado com sucesso! Aguarde, breve estaremos entrando em contado com você Equipe: $site";//aqui envia o e-mail de auto-resposta para o visitantemail("$email", "$titulo", "$msg", "From: $site" );?> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Março 6, 2007 Denunciar Share Postado Março 6, 2007 Para verificar se todos os campos foram preenchidos use um if/else:if (($nome == "") OR ($email == "") OR....){ //Faz alguma coisa.. aqui ele vai fazer se um dos campos retornar vazio... }else{ //Contia nua o código... }Para valiar um e-mail já tem uma solução pronta. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Matos-BA Postado Março 7, 2007 Autor Denunciar Share Postado Março 7, 2007 Desde já obrigado por me ajudarSó uma perguntinhaQuando você colocou //Contia nua o código...}ESSA CHAVE EU VOU COLOCAR NO FINAL DO CÓDIGO ANTES DO ?>Eu usei o código que você me forneceu.Deu certo, funciona, ele verifica o email, mas eu recebo os dados, mesmo não colocando o email.<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method=post">Email: <input type="text" name="email" size="20" value="<?php echo @$_REQUEST['email]; ?>" /><input type="submit" name="validar" value="validar" /></form><br /><br /><?php$email = trim(@$_REQUEST['email']);if ($email) { if (preg_match ("/^[A-Za-z0-9]+([_.-][A-Za-z0-9]+)*@[A-Za-z0-9]+([_.-][A-Za-z0-9]+)*\\.[A-Za-z0-9]{2,4}$/", $email)) { echo "O e-mail válido!"; } else { echo "O e-mail é inválido!"; }}?> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Beraldo Postado Março 7, 2007 Denunciar Share Postado Março 7, 2007 Quando você colocou //Contia nua o código...}ESSA CHAVE EU VOU COLOCAR NO FINAL DO CÓDIGO ANTES DO ?>Depende das ações que você deseja colocar no código. Você pode fazer assim:Usando o exemplo do ESerra:if (($nome == "") OR ($email == "") OR....){ echo "Preencha todos os campos"; } else { //envia o e-mail } Eu usei o código que você me forneceu. Deu certo, funciona, ele verifica o email, mas eu recebo os dados, mesmo não colocando o email. <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method=post"> Email: <input type="text" name="email" size="20" value="<?php echo @$_REQUEST['email]; ?>" /> <input type="submit" name="validar" value="validar" /> </form> <br /><br /> <?php $email = trim(@$_REQUEST['email']); if ($email) { if (preg_match ("/^[A-Za-z0-9]+([_.-][A-Za-z0-9]+)*@[A-Za-z0-9]+([_.-][A-Za-z0-9]+)*\\.[A-Za-z0-9]{2,4}$/", $email)) { echo "O e-mail válido!"; } else { echo "O e-mail é inválido!"; } } ?> Troque: if ($email) por: if ($email != "")Abraços,Beraldo Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Matos-BA
Olá pessoal, tenho abaixo esse envio de formulário para email e preciso dar uma melhorada nele.
Será que teria como ´melhorar para só enviar, se os dados estiverem preenchido e o email for válido??
Se alguém puder me ajudar ficarei muito grato
abraço a todos
Matos
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.