Ir para conteúdo
Fórum Script Brasil
  • 0

Formulário


Matos-BA

Pergunta

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

<?

//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 visitante

mail("$email",

"$titulo",

"$msg",

"From: $site"

);

?>

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

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.

Link para o comentário
Compartilhar em outros sites

  • 0

Desde já obrigado por me ajudar

Só uma perguntinha

Quando 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!";

}

}

?>

Link para o comentário
Compartilhar em outros sites

  • 0
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

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,6k
×
×
  • Criar Novo...