Jump to content
Fórum Script Brasil
  • 0

Formulário de Envio anexo


matheus tavares
 Share

Question

Boa trade galera sou novo aqui e leigo com PHP, mas espero que você possam me ajudar. Eu estou tentando fazer um fomulário de envio com anexo usando HTML e PHP, mas sei colocar o código do anexo de arquivo. aguem poderia me ajudar?  

_______________________________________________________________________________________

HTML trc.html

<form action="enviar_anexo.php" method="post" id="form">
  <tr>
    <td width="295">
    <label><label>
    <input type="file" name="arquivo" id="arquivo" />
    </td>
    
  <tr>
    <td colspan="7"><font color="#666666" size="2    " face="Verdana">
    <label for="subject">Assunto</label>
    </td>
  </tr>
  <tr>
    <td colspan="7"><span class="ccms_form_element cfdiv_text">
      <input type="text" name="subject" id="subject" />
     </td>
  </tr>
 
  <tr>
    <td colspan="7"><font color="#666666" size="2    " face="Verdana">
    <label for="message">Mensagem</label>
    </td>
  </tr>
  <tr>
    <td colspan="7"><span class="ccms_form_element cfdiv_text">
      <textarea name="message" id="message" rows="10" cols="100"></textarea>
     </td>
  </tr>
    
  <tr>
    <td colspan="7"><font color="#666666" size="2    " face="Verdana">
    <label for="subject">Envie seu Email</label>
    </td>
  </tr>
  <tr>
    <td colspan="7"><span class="ccms_form_element cfdiv_text">
      <input type="submit" id="send_message" value="Enviar" />

_____________________________________________________________________________________________

PHP enviar_anexo.php

<?php
    $name     =   $_POST['name']; //pega os dados que foi digitado no ID name.
    $email    =   $_POST['email']; //pega os dados que foi digitado no ID email.
    $subject  =   $_POST['subject']; //pega os dados que foi digitado no ID sebject.
    $message  =   $_POST['message']; //pega os dados que foi digitado no ID message.

    $headers  = "From: $email\r\n";
    $headers .= "Reply-To: $email\r\n";

/*abaixo contém os dados que serão enviados para o email
cadastrado para receber o formulário*/

       $corpo = "Formulário enviado\n";
       $corpo .= "Nome: " . $name . "\n";
       $corpo .= "Email: " . $email . "\n";
       $corpo .= "Comentários: " . $message . "\n";

       $email_to = '[email protected]'; //não esqueça de substituir este email pelo seu.

       $status = mail($email_to, $subject, $corpo, $headers); //enviando o email.

        if($status) {
                echo "<script> alert('Formulário enviado com sucesso!'); </script>"; //mensagem de form enviado com sucesso.
        }
        else {
                echo "<script alert('Falha ao enviar o Formulário.'); </script>"; //mensagem de erro no envio.
        }
?>

Link to comment
Share on other sites

2 answers to this question

Recommended Posts

  • 0

Aconselho a utilização da classe PHPMailer. Fica aqui um exemplo.

Para gerires a parte do anexo tens de criar um elemento file no teu formulário. Algo assim:

<input type="file" id="fileUpload" name="fileUpload" />

E depois fazes a gestão do ficheiro enviado para o servidor a partir do formulário.

<?php
    if (!empty($_FILES))
    {
        if ($_FILES["fileUpload"]["error"] > 0)
        {
          echo "Erro: " . $_FILES["fileUpload"]["error"] . "<br />";
        }
        else
        {
            $uploaddir = './uploads/';
            $uploadfile = $uploaddir . basename($_FILES['fileUpload']['name']);
            if (move_uploaded_file($_FILES['fileUpload']['tmp_name'], $uploadfile)) 
            {
                //o ficheiro foi enviado para o servidor com sucesso, podemos usar a classe
                //PHPMailer para enviar o e-mail com o anexo.
            } 
        }
    }

Em alternativa, se não quiseres usar o PHPMailer, há este código (que não testei) que parece permitir fazer a mesma coisa sem usar a classe.

Edited by wootzor
Link to comment
Share on other sites

  • 0

Aconselho a utilização da classe PHPMailer. Fica aqui um exemplo.

Para gerires a parte do anexo tens de criar um elemento file no teu formulário. Algo assim:

<input type="file" id="fileUpload" name="fileUpload" />

E depois fazes a gestão do ficheiro enviado para o servidor a partir do formulário.

<?php
    if (!empty($_FILES))
    {
        if ($_FILES["fileUpload"]["error"] > 0)
        {
          echo "Erro: " . $_FILES["fileUpload"]["error"] . "<br />";
        }
        else
        {
            $uploaddir = './uploads/';
            $uploadfile = $uploaddir . basename($_FILES['fileUpload']['name']);
            if (move_uploaded_file($_FILES['fileUpload']['tmp_name'], $uploadfile)) 
            {
                //o ficheiro foi enviado para o servidor com sucesso, podemos usar a classe
                //PHPMailer para enviar o e-mail com o anexo.
            } 
        }
    }

Em alternativa, se não quiseres usar o PHPMailer, há este código (que não testei) que parece permitir fazer a mesma coisa sem usar a classe.

Obrigado meu Amigo, mas eu não conheço quase nada de PHP tem como você me ajudar mais vou ficar muito agradecido.

Se não for pedir muito fazer o código pra mim, ou me ajudar. Obrigado 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



  • Forum Statistics

    • Total Topics
      149.9k
    • Total Posts
      646.8k
×
×
  • Create New...