• 19-03-2020, 09:29:15
    #1
    Merhaba arkadaşlar,
    Elimde html ile düzenlenmiş bir iletişim formu mevcut. Fakat bu form üzerinden özgeçmiş gönderilmesi gerekiyor. Php bilgim çok az olduğundan dolayı bunu da POST methodu ile yapmalız. Phpmailer diye bir şey buldum ama çok karışık geldi. Tek sorunum aşağıda ki php dosyasına attachment komutu yazmak

    Kullandığım iletişim formu: https://codepen.io/thesain/full/ZEGRdEB

    Html Form;
    <form name="contactform" method="post" action="send_form_email.php">
    <table width="450px">
    <tr>
     <td valign="top">
      <label for="first_name">First Name *</label>
     </td>
     <td valign="top">
      <input  type="text" name="first_name" maxlength="50" size="30">
     </td>
    </tr>
    <tr>
     <td valign="top">
      <label for="last_name">Last Name *</label>
     </td>
     <td valign="top">
      <input  type="text" name="last_name" maxlength="50" size="30">
     </td>
    </tr>
    <tr>
     <td valign="top">
      <label for="email">Email Address *</label>
     </td>
     <td valign="top">
      <input  type="text" name="email" maxlength="80" size="30">
     </td>
    </tr>
    <tr>
     <td valign="top">
      <label for="telephone">Telephone Number</label>
     </td>
     <td valign="top">
      <input  type="text" name="telephone" maxlength="30" size="30">
     </td>
    </tr>
    <tr>
     <td valign="top">
      <label for="comments">Comments *</label>
     </td>
     <td valign="top">
      <textarea  name="comments" maxlength="1000" cols="25" rows="6"></textarea>
     </td>
    </tr>
    <tr>
     <td colspan="2" style="text-align:center">
      <input type="submit" value="Submit">   <a href="[URL]http://www.freecontactform.com/email_form.php[/URL]">Email Form</a>
     </td>
    </tr>
    </table>
    </form>
    PHP Post Fonksiyon;
    <?php
    if(isset($_POST['email'])) {
     
        // EDIT THE 2 LINES BELOW AS REQUIRED
        $email_to = "you@yourdomain.com";
        $email_subject = "Your email subject line";
     
        function died($error) {
            // your error code can go here
            echo "We are very sorry, but there were error(s) found with the form you submitted. ";
            echo "These errors appear below.<br /><br />";
            echo $error."<br /><br />";
            echo "Please go back and fix these errors.<br /><br />";
            die();
        }
     
     
        // validation expected data exists
        if(!isset($_POST['first_name']) ||
            !isset($_POST['last_name']) ||
            !isset($_POST['email']) ||
            !isset($_POST['telephone']) ||
            !isset($_POST['comments'])) {
            died('We are sorry, but there appears to be a problem with the form you submitted.');      
        }
     
        
     
        $first_name = $_POST['first_name']; // required
        $last_name = $_POST['last_name']; // required
        $email_from = $_POST['email']; // required
        $telephone = $_POST['telephone']; // not required
        $comments = $_POST['comments']; // required
     
        $error_message = "";
        $email_exp = '/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/';
     
      if(!preg_match($email_exp,$email_from)) {
        $error_message .= 'The Email Address you entered does not appear to be valid.<br />';
      }
     
        $string_exp = "/^[A-Za-z .'-]+$/";
     
      if(!preg_match($string_exp,$first_name)) {
        $error_message .= 'The First Name you entered does not appear to be valid.<br />';
      }
     
      if(!preg_match($string_exp,$last_name)) {
        $error_message .= 'The Last Name you entered does not appear to be valid.<br />';
      }
     
      if(strlen($comments) < 2) {
        $error_message .= 'The Comments you entered do not appear to be valid.<br />';
      }
     
      if(strlen($error_message) > 0) {
        died($error_message);
      }
     
        $email_message = "Form details below.\n\n";
     
        
        function clean_string($string) {
          $bad = array("content-type","bcc:","to:","cc:","href");
          return str_replace($bad,"",$string);
        }
     
        
     
        $email_message .= "First Name: ".clean_string($first_name)."\n";
        $email_message .= "Last Name: ".clean_string($last_name)."\n";
        $email_message .= "Email: ".clean_string($email_from)."\n";
        $email_message .= "Telephone: ".clean_string($telephone)."\n";
        $email_message .= "Comments: ".clean_string($comments)."\n";
     
    // create email headers
    $headers = 'From: '.$email_from."\r\n".
    'Reply-To: '.$email_from."\r\n" .
    'X-Mailer: PHP/' . phpversion();
    @mail($email_to, $email_subject, $email_message, $headers);  
    ?>
     
    <!-- include your own success html here -->
     
    Thank you for contacting us. We will be in touch with you very soon.
     
    <?php
     
    }
    ?>
  • 19-03-2020, 10:24:17
    #2
    Öncelikle Html form kodunuzda enctype="multipart/form-data" attribute olduğundan emin olun.

    Görsel php kısmında upload edip mail e attachment edersiniz. PhpMailler ile ilgili github da kendi sayfalarında örnek kodlar mevcut. Sadece boşlukları dolduracaksınız.
    Görsel yüklemek için de aşağıda yazdığım kodları kullanabilirsiniz;
    $folder_path = __DIR__ . basename($_FILES["fileName"]["name"]);
    $extension = $imageFileType = strtolower(pathinfo($folder_path,PATHINFO_EXTENSION));
    
    if (!getimagesize($_FILES["fileName"]["tmp_name"])) {
    throw new Exception('Sadece görsel dosyalar kabul edilmektedir...');
    }
    
    if ($_FILES["fileName"]["size"] > 600000) {
    throw new Exception('Kabul edilebilir boyuttan daha büyük bir dosya yollamaya çalıştınız...');
    }
    
    if (!in_array($extension, ['jpg', 'png', 'jpeg'])) {
    throw new Exception('Kabul edilebilir uzantı dışında bir görsel yolladınız.');
    }
    
    
    if (!move_uploaded_file($_FILES["fileName"]["tmp_name"], $folder_path)) {
    throw new Exception('Dosya yüklenirken bir hata oluştu.');
    }
    
    echo 'Yüklenen dosya yolu = ' . $folder_path;
  • 19-03-2020, 10:35:39
    #3
    coder63 adlı üyeden alıntı: mesajı görüntüle
    Öncelikle Html form kodunuzda enctype="multipart/form-data" attribute olduğundan emin olun.

    Görsel php kısmında upload edip mail e attachment edersiniz. PhpMailler ile ilgili github da kendi sayfalarında örnek kodlar mevcut. Sadece boşlukları dolduracaksınız.
    Görsel yüklemek için de aşağıda yazdığım kodları kullanabilirsiniz;
    $folder_path = __DIR__ . basename($_FILES["fileName"]["name"]);
    $extension = $imageFileType = strtolower(pathinfo($folder_path,PATHINFO_EXTENSION));
    
    if (!getimagesize($_FILES["fileName"]["tmp_name"])) {
    throw new Exception('Sadece görsel dosyalar kabul edilmektedir...');
    }
    
    if ($_FILES["fileName"]["size"] > 600000) {
    throw new Exception('Kabul edilebilir boyuttan daha büyük bir dosya yollamaya çalıştınız...');
    }
    
    if (!in_array($extension, ['jpg', 'png', 'jpeg'])) {
    throw new Exception('Kabul edilebilir uzantı dışında bir görsel yolladınız.');
    }
    
    
    if (!move_uploaded_file($_FILES["fileName"]["tmp_name"], $folder_path)) {
    throw new Exception('Dosya yüklenirken bir hata oluştu.');
    }
    
    echo 'Yüklenen dosya yolu = ' . $folder_path;
    Yanıtınız için çok teşekkür ederim. Fakat özgeçmiş olduğu için .doc veya .pdf uzantılı dosyada yüklenmek istenebilir.
    Örneğin şu kaynak sorunsuz çalışıyor: http://reusableforms.com/d/e2/php-co...ith-attachment
    Fakat bunu da kendi formuma göre düzenlemeyi başaramadım

    Phpmailer 'in dosyalarını da inceledim. Ama dediğim gibi php 'den pek anlamıyorum, nereyi nasıl düzenlemem gerektiğini bilmiyorum.