Ir para conteúdo
Fórum Script Brasil

Paulo Peres

Membros
  • Total de itens

    6
  • Registro em

  • Última visita

Posts postados por Paulo Peres

  1. 5 minutos atrás, Hera Araújo disse:

    Olá, bom a dia.

     

    Veja, quando eu mando uma solução, é porque ela já foi testada(a várias vezes), portanto,   funciona 100%. Tu precisas verificar se o teu provedor tem mesmo php, pois, pelo que qu vi, ele não está interpretando a TAG do PHP. Não era para aparecer "<?php echo $name ?>" no campo input, ou em nenhum campo input. Pois essa é  a forma universal que o PHP faz para carregar o conteudo q foi digitado num campo input do tipo "text". O

    Ok Hera Araujo, entendi.  Reitero meus agradecimentos por sua atenção e seu tempo.

    Sim, meu provedor possui o PHP, meu provedor é LOCAWEB. 

    Mas ok, vou resolver.

    Muito obrigado mesmo.

    Saúde pra voce e pra todos.

     

    abs.

     

  2. 20 horas atrás, Hera Araújo disse:

    Eita, já ia esquecendo, o nome do arquivo .php dev ser  "send_form_email.php"

    Oi Hera Araujo, bom dia. Fiz os testes e achei interessante... o que envia a mensagem do form é o emal que informamos no php, e então a mensagem do form vem com um anexo.

    achei interessante também que no form html dentro dos campos fica visível o código.

    olha as imagens que voce vai entender.


    <?php


    $name           = $_POST['name'];
    $email          = $_POST['email'];
    $message        = $_POST['message'];

    $passouUmaVez   = $_POST['passouUmaVez'];


    // EDIT THE 2 LINES BELOW AS REQUIRED
    $send_email_to = "atendimento@optionmaker.com.br";
    $email_subject = "Contato Site Mobile";


    if  ( $passouUmaVez == 1  ) {

        $indicadorErro = false;

        if ( empty($name) ) {
           echo "<p>Contato Site</p>";
           $indicadorErro=true;
        }

        if ( empty($email) ) {
           echo "<p>Falta informar Email</p>";
           $indicadorErro=true;
        }

        if ( empty($message) ) {
           echo "<p>Falta informar Mensagem</p>";
           $indicadorErro=true;
        }


        if ( !$indicadorErro  ) {

            $to      = $email;
            $subject = $name;
            $message = $message;
            $headers = 'From: atendimento@optionmaker.com.br'."\r\n".'Reply-To: atendimento@optionmaker.com.br'."\r\n".'X-Mailer: PHP/' . phpversion();
            $success = mail($to, $subject, $message, $headers);
            echo "<p>Tentativa de enviar Email com sucesso!</p>";

            //limpando campos
            $name           = "";
            $email          = "";
            $message        = "";

        }


    }

    ?>

    form1.jpg

    form2.jpg

  3. 12 minutos atrás, Hera Araújo disse:

    Oi Hera Araújo, agradeço por sua atenção e seu tempo. Ok, vou estudar e testar e te dou um feedback.

    Muito obrigado.

    att

    Paulo

     

    Resolvi dar uma corrigida geral no teu código, pois tem casos que é melhor refazer tudo sob o risco de dificultar a compreenção da aula.

     

    1) Simplifiquei todo código e deixe-o todo num só arquivo  ".php"(é só copiar, colar e executar no teu servidor);

    2) Além de melhorar o teu HTML, escrevi o código mostrando como se deve usar o PHP combinado com as requisições POST(ou GET) no HTML, senão, ficaria difícil pra você.

    3) Deixei a função de Email sem crítica e usei um usuário(o que envia) externo " só para o exemplo:webmaster@example.com;

    4) Perceba que a variável invisível  "passouUmaVez" é fundamental para o truque PHP/HTML que faz exibir o form pela primeira vez sem processar nada; 

     

    aqui vai o código(bom proveito na compreenção):

     

     

    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

     

    <?php


    $name           = $_POST['name'];
    $email          = $_POST['email'];
    $message        = $_POST['message'];

    $passouUmaVez   = $_POST['passouUmaVez'];


    // EDIT THE 2 LINES BELOW AS REQUIRED
    $send_email_to = "atendimento@optionmaker.com.br";
    $email_subject = "Contato Site Mobile";


    if  ( $passouUmaVez == 1  ) { 

        $indicadorErro = false;

        if ( empty($name) ) {
           echo "<p>Falta informar título(ou nome do título) </p>";
           $indicadorErro=true;
        }

        if ( empty($email) ) {
           echo "<p>Falta informar Email</p>";
           $indicadorErro=true;
        }

        if ( empty($message) ) {
           echo "<p>Falta informar Mensagem</p>";
           $indicadorErro=true;
        }


        if ( !$indicadorErro  ) {

            $to      = $email;
            $subject = $name;
            $message = $message;
            $headers = 'From: webmaster@example.com'."\r\n".'Reply-To: webmaster@example.com'."\r\n".'X-Mailer: PHP/' . phpversion();
            $success = mail($to, $subject, $message, $headers);
            echo "<p>Tentativa de enviar Email com sucesso!</p>";

            //limpando campos
            $name           = "";
            $email          = "";
            $message        = "";

        }


    }

    ?>


    <form method="post" action="send_form_email.php" id="contactform">

        <div><b>Nome:</b></div>
        <div><input type="text" class="input-field" id="name" name="name" value="<?php echo $name ?>"> </div>

        <div><b>E-mail:</b></div>
        <div><input type="text" class="input-field" id="email" name="email" value="<?php echo $email ?>"></div>

        <div><b>Messagem:</b></div><div>
        <div><textarea id="message" rows="5" cols="70"  name="message"><?php echo $message ?></textarea></div>
                         

        <input type="hidden" name="passouUmaVez" value="1"> <!--variavel invisivel(só para não deixar executar logo na entrada do form  -->

        <br><br>
        <input type="submit" >


     </form>

     

    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

     

     

    Oi,

     

     

     

     

     

     

     

     

     

    depois, num outro fórum, você pode pedir ajuda para aprimorar a função que veririca se o Email foi mesmo enviado com sucesso.

     

  4. esse é  código PHP que estou usando:

    <?php
    // EDIT THE 2 LINES BELOW AS REQUIRED
    $send_email_to = "atendimento@optionmaker.com.br";
    $email_subject = "Contato Site Mobile";
    function send_email($name,$email,$email_message)
    {
      global $send_email_to;
      global $email_subject;
      $headers = "MIME-Version: 1.0" . "\r\n";
      $headers .= "Content-type:text/html;charset=iso-8859-1" . "\r\n";
      $headers .= "From: ".$email. "\r\n";
      $message = "<strong>Email = </strong>".$email."<br>";
      $message .= "<strong>Name = </strong>".$name."<br>";  
      $message .= "<strong>Message = </strong>".$email_message."<br>";
      @mail($send_email_to, $email_subject, $message,$headers);
      return true;
    }

    function validate($name,$email,$message)
    {
      $return_array = array();
      $return_array['success'] = '1';
      $return_array['name_msg'] = '';
      $return_array['email_msg'] = '';
      $return_array['message_msg'] = '';
      if($email == '')
      {
        $return_array['success'] = '0';
        $return_array['email_msg'] = 'email is required';
      }
      else
      {
        $email_exp = '/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/';
        if(!preg_match($email_exp,$email)) {
          $return_array['success'] = '0';
          $return_array['email_msg'] = 'enter valid email.';  
        }
      }
      if($name == '')
      {
        $return_array['success'] = '0';
        $return_array['name_msg'] = 'name is required';
      }
      else
      {
        $string_exp = "/^[A-Za-z .'-]+$/";
        if (!preg_match($string_exp, $name)) {
          $return_array['success'] = '0';
          $return_array['name_msg'] = 'enter valid name.';
        }
      }
            
      if($message == '')
      {
        $return_array['success'] = '0';
        $return_array['message_msg'] = 'message is required';
      }
      else
      {
        if (strlen($message) < 2) {
          $return_array['success'] = '0';
          $return_array['message_msg'] = 'enter valid message.';
        }
      }
      return $return_array;
    }

    $name = $_POST['name'];
    $email = $_POST['email'];
    $message = $_POST['message'];


    $return_array = validate($name,$email,$message);

    if($return_array['success'] == '1')
    {
        send_email($name,$email,$message);
    }
    header('Content-type: text/json');
    echo json_encode($return_array);
    die();
    ?>

     

    Este é o código HTML que estou usando:

    <form method="post" action="send_form_email.php" id="contactform">
                        <div>
                            <label for="name">Nome</label>
                            <input type="text" class="input-field" id="name" name="name" value="">
                        </div>
                        <div>
                            <label for="email">E-mail</label>
                            <input type="text" class="input-field" id="email" name="email" value="">
                        </div>
                        <div>
                            <label>Mensagem</label>
                            <textarea id="message" name="message"></textarea>
                        </div>
                        <a id="button-send" href="#" title="Send Email" class="button" style="width:100%;">Enviar</a>
                        <div id="success">Mensagem enviada com sucesso!</div>
                        <div id="error">Ops! Algo deu errado. Use o atendimento@optionmaker.com.br</div>
                    </form>

×
×
  • Criar Novo...