Ir ao conteúdo

Posts recomendados

Postado

Boa tarde!

 

Sou iniciante em php e estou com um probleminha, tenho um formulário de contato em php que está mandando para o email as informações repetindo 5x, alguém poderia me ajudar?

 

####################################################################################################

 

formulario:

<?php 

$name_error = $email_error = $phone_error = $url_error = "";
$name = $email = $phone = $message = $url = $success = "";

if ($_SERVER["REQUEST_METHOD"] == "POST") {
  if (empty($_POST["name"])) {
    $name_error = "Name is required";
  } else {
    $name = test_input($_POST["name"]);
    if (!preg_match("/^[a-zA-Z ]*$/",$name)) {
      $name_error = "Only letters and white space allowed"; 
    }
  }
  if (empty($_POST["email"])) {
    $email_error = "Email is required";
  } else {
    $email = test_input($_POST["email"]);
    if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
      $email_error = "Invalid email format"; 
    }
  }
  
  if (empty($_POST["phone"])) {
    $phone_error = "Phone is required";
  } else {
    $phone = test_input($_POST["phone"]);
    if (!preg_match("/^(\d[\s-]?)?[\(\[\s-]{0,2}?\d{3}[\)\]\s-]{0,2}?\d{3}[\s-]?\d{4}$/i",$phone)) {
      $phone_error = "Invalid phone number"; 
    }
  }
  if (empty($_POST["url"])) {
    $url_error = "";
  } else {
    $url = test_input($_POST["url"]);
    if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i",$url)) {
      $url_error = "Invalid URL"; 
    }
  }
  if (empty($_POST["message"])) {
    $message = "";
  } else {
    $message = test_input($_POST["message"]);
  }
  
  if ($name_error == '' and $email_error == '' and $phone_error == '' and $url_error == '' ){
      $message_body = '';
      unset($_POST['submit']);
      foreach ($_POST as $key => $value){
          $message_body .=  "Nome: $name, E-mail: $email, Telefone: $phone, Site: $url, Mensagem: $message";
      }
      
      $to = '[email protected]';
      $subject = 'Mensagem pelo site';
      if (mail($to, $subject, $message_body)){
          $success = "Mensagem enviada. Em breve estaremos retornando";
          $name = $email = $phone = $message = $url = '';
      }
  }
  
}
function test_input($data) {
  $data = trim($data);
  $data = stripslashes($data);
  $data = htmlspecialchars($data);
  return $data;
}

 

####################################################################################################

 

No e-mail, chega assim:

 

Nome: teste, E-mail: [email protected], Telefone: 54998787788, Site: www.teste.com.br, Mensagem: teste teste testeNome: teste, E-mail: [email protected], Telefone: 54998787788, Site: www.teste.com.br, Mensagem: teste teste testeNome: teste, E-mail: [email protected], Telefone: 54998787788, Site: www.teste.com.br, Mensagem: teste teste testeNome: teste, E-mail: [email protected], Telefone: 54998787788, Site: www.teste.com.br, Mensagem: teste teste testeNome: teste, E-mail: [email protected], Telefone: 54998787788, Site: www.teste.com.br, Mensagem: teste teste teste

 

####################################################################################################

 

Gostaria que chegasse assim:

 

Nome: teste 
E-mail: [email protected]
Telefone: 54998787788
Site: www.teste.com.br
Mensagem: teste  

 

####################################################################################################

 

Estou nisso já o dia todo, mas como nao conheço a sintaxe muito bem to bem perdido. Se alguém poder me dar uma luz!

 

Desde já agradeço!

 

Postado
<?php 

$name_error = $email_error = $phone_error = $url_error = "";
$name = $email = $phone = $message = $url = $success = "";

if ($_SERVER["REQUEST_METHOD"] == "POST") {
  if (empty($_POST["name"])) {
    $name_error = "Name is required";
  } else {
    $name = test_input($_POST["name"]);
    if (!preg_match("/^[a-zA-Z ]*$/",$name)) {
      $name_error = "Only letters and white space allowed"; 
    }
  }
  if (empty($_POST["email"])) {
    $email_error = "Email is required";
  } else {
    $email = test_input($_POST["email"]);
    if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
      $email_error = "Invalid email format"; 
    }
  }
  
  if (empty($_POST["phone"])) {
    $phone_error = "Phone is required";
  } else {
    $phone = test_input($_POST["phone"]);
    if (!preg_match("/^(\d[\s-]?)?[\(\[\s-]{0,2}?\d{3}[\)\]\s-]{0,2}?\d{3}[\s-]?\d{4}$/i",$phone)) {
      $phone_error = "Invalid phone number"; 
    }
  }
  if (empty($_POST["url"])) {
    $url_error = "";
  } else {
    $url = test_input($_POST["url"]);
    if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i",$url)) {
      $url_error = "Invalid URL"; 
    }
  }
  if (empty($_POST["message"])) {
    $message = "";
  } else {
    $message = test_input($_POST["message"]);
  }
  
  if ($name_error == '' and $email_error == '' and $phone_error == '' and $url_error == '' ){
      $message_body = '';
      unset($_POST['submit']);

      $message_body .=  "Nome: $name, E-mail: $email, Telefone: $phone, Site: $url, Mensagem: $message";

      
      $to = '[email protected]';
      $subject = 'Mensagem pelo site';
      if (mail($to, $subject, $message_body)){
          $success = "Mensagem enviada. Em breve estaremos retornando";
          $name = $email = $phone = $message = $url = '';
      }
  }
  
}
function test_input($data) {
  $data = trim($data);
  $data = stripslashes($data);
  $data = htmlspecialchars($data);
  return $data;
}

tenta desse modo, o que falei à cima está incorreto, olhei rapidamente e não me atentei.

  • Curtir 2

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!