• 21-04-2024, 15:31:26
    #1
    Selamlar,
    PHP Mailer kurulumu yapıyorum ve sayfaya girilir girilmez direkt formu post ediyor ve mail'e boş mail atıyor. Submit butonuna basıldığında tetiklenmesini istiyorum.

    İnternetten araştırdım da;

    if(isset($_POST['submit'])) {
    send();
    }

    bu şekilde bir kod vermişler bunu uyguladığımda da ilk açıldığında form post edilmiyor ama submit tetiklendiğinde de göndermemekte.
  • Kabul Edilen Cevap
    • 0 Beğeni
      mehmetkacar adlı üyeden alıntı: mesajı görüntüle
      Kusuruma bakma hocam ben ilgili alanı istediğini düşündüm. Tüm alanı iletiyorum;

      try {
          //Server settings
          $mail->SMTPDebug = 0;                      //Enable verbose debug output
          $mail->isSMTP();                                            //Send using SMTP
          $mail->Host       = 'smtp.gmail.com';                     //Set the SMTP server to send through
          $mail->SMTPAuth   = true;                                   //Enable SMTP authentication
          $mail->Username   = 'xxxxx';                     //SMTP username
          $mail->Password   = 'xxxxx';                               //SMTP password
          $mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS;            //Enable implicit TLS encryption
          $mail->Port       = 465;                                    //TCP port to connect to; use 587 if you have set `SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS`
          //Recipients
          $mail->setFrom('xxxxx', 'Destek Talebi');
          $mail->addAddress('xxxxx', 'xxxx');     //Add a recipient
          //Content
          $mail->isHTML(true);
          $mail->CharSet = "UTF-8";
          $mail->Subject = $mail_form_konu;
          $mail->Body    = $mail_icerik;
          $mail->AltBody = 'This is the body in plain text for non-HTML mail clients';
          $mail->send();
          echo 'Message has been sent';
          
      } catch (Exception $e) {
          echo "Message could not be sent. Mailer Error: {$mail->ErrorInfo}";
          die();
      }
      if($_POST){
      
      try {
          //Server settings
          $mail->SMTPDebug = 0;                      //Enable verbose debug output
          $mail->isSMTP();                                            //Send using SMTP
          $mail->Host       = 'smtp.gmail.com';                     //Set the SMTP server to send through
          $mail->SMTPAuth   = true;                                   //Enable SMTP authentication
          $mail->Username   = 'xxxxx';                     //SMTP username
          $mail->Password   = 'xxxxx';                               //SMTP password
          $mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS;            //Enable implicit TLS encryption
          $mail->Port       = 465;                                    //TCP port to connect to; use 587 if you have set `SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS`
          //Recipients
          $mail->setFrom('xxxxx', 'Destek Talebi');
          $mail->addAddress('xxxxx', 'xxxx');     //Add a recipient
          //Content
          $mail->isHTML(true);
          $mail->CharSet = "UTF-8";
          $mail->Subject = $mail_form_konu;
          $mail->Body    = $mail_icerik;
          $mail->AltBody = 'This is the body in plain text for non-HTML mail clients';
          $mail->send();
          echo 'Message has been sent';
           
      } catch (Exception $e) {
          echo "Message could not be sent. Mailer Error: {$mail->ErrorInfo}";
          die();
      }
      
      }
      Bu şekilde çalışacaktır.
  • 21-04-2024, 15:32:35
    #2
    Bu if bloğunun çalışması için formunuzda submit isminde bir eleman olması lazım. Submit butonuna name olarak submit verirseniz sorun çözülecektir.

    mehmetkacar adlı üyeden alıntı: mesajı görüntüle
    Selamlar,
    PHP Mailer kurulumu yapıyorum ve sayfaya girilir girilmez direkt formu post ediyor ve mail'e boş mail atıyor. Submit butonuna basıldığında tetiklenmesini istiyorum.

    İnternetten araştırdım da;

    if(isset($_POST['submit'])) {
    send();
    }

    bu şekilde bir kod vermişler bunu uyguladığımda da ilk açıldığında form post edilmiyor ama submit tetiklendiğinde de göndermemekte.
  • 21-04-2024, 15:33:00
    #3
    input type submit değeri olan alana name="submit" de ekleyin
  • 21-04-2024, 15:39:38
    #4
    if($_POST) {
    send();
    }
    Şu kodu dener misiniz?
  • 21-04-2024, 15:39:38
    #5
    fatihemre adlı üyeden alıntı: mesajı görüntüle
    Bu if bloğunun çalışması için formunuzda submit isminde bir eleman olması lazım. Submit butonuna name olarak submit verirseniz sorun çözülecektir.
    ByHazerfen adlı üyeden alıntı: mesajı görüntüle
    input type submit değeri olan alana name="submit" de ekleyin
    Yine olmadı hocam denemiştim onu
  • 21-04-2024, 15:45:06
    #6
    ByHazerfen adlı üyeden alıntı: mesajı görüntüle
    input type submit değeri olan alana name="submit" de ekleyin
    fatihemre adlı üyeden alıntı: mesajı görüntüle
    Bu if bloğunun çalışması için formunuzda submit isminde bir eleman olması lazım. Submit butonuna name olarak submit verirseniz sorun çözülecektir.
    mehmetkacar adlı üyeden alıntı: mesajı görüntüle
    Yine olmadı hocam denemiştim onu
    DarkBy adlı üyeden alıntı: mesajı görüntüle
    if($_POST) {
    send();
    }
    Şu kodu dener misiniz?
    Direkt sayfa kapanıyor böyle de hocam
  • 21-04-2024, 15:45:36
    #7
    mehmetkacar adlı üyeden alıntı: mesajı görüntüle
    Direkt sayfa kapanıyor böyle de hocam
    kodu bi komple atar mısın?
  • 21-04-2024, 15:47:06
    #8
    DarkBy adlı üyeden alıntı: mesajı görüntüle
    kodu bi komple atar mısın?
    if(isset($_POST)) { send(); }
        
    } catch (Exception $e) {
        echo "Message could not be sent. Mailer Error: {$mail->ErrorInfo}";
        die();
    }
    <div class="form-block">
                            <form method="post" data-bs-toggle="validator" class="shake">
                                <div class="row">
                                    <div class="form-group col-sm-6">
                                        <input type="text" name="mail_form_adi" placeholder="Adınız ve Soyadınız" size="30" />
                                    </div>
                                    <div class="form-group col-sm-6">
                                        <input type="text" name="mail_form_konu" placeholder="Konu" size="30" />
                                    </div>
                                </div>
                                <div class="row">
                                    <div class="form-group col-sm-6">
                                        <input type="text" name="mail_form_tel" placeholder="Telefon Numaranızı Giriniz" size="30" />
                                    </div>
                                    <div class="form-group col-sm-6">
                                        <input type="text" name="mail_form_eposta" placeholder="E-Posta Adresiniz" size="30" />
                                    </div>
                                </div>
                                <div class="row">
                                    <div class="form-group">
                                        <textarea name="mail_form_mesaj" rows="5" placeholder="Mesajınızı giriniz" required></textarea>
                                    </div>
                                </div>
                                <button type="submit" name="submit" class="btn lnk btn-main bg-btn6">Gönder <span class="circle"></span></button>
                        
                                    <p class="trm"><i class="fas fa-lock"></i>Spam mail koruma aktif.</p>
                                    <div id="msgSubmit" class="h3 text-center hidden"></div>
                                    <div class="clearfix"></div>
                            </form>
                        <?php } ?>
  • 21-04-2024, 15:57:20
    #9
    mehmetkacar adlı üyeden alıntı: mesajı görüntüle
    if(isset($_POST)) { send(); }
        
    } catch (Exception $e) {
        echo "Message could not be sent. Mailer Error: {$mail->ErrorInfo}";
        die();
    }
    <div class="form-block">
                            <form method="post" data-bs-toggle="validator" class="shake">
                                <div class="row">
                                    <div class="form-group col-sm-6">
                                        <input type="text" name="mail_form_adi" placeholder="Adınız ve Soyadınız" size="30" />
                                    </div>
                                    <div class="form-group col-sm-6">
                                        <input type="text" name="mail_form_konu" placeholder="Konu" size="30" />
                                    </div>
                                </div>
                                <div class="row">
                                    <div class="form-group col-sm-6">
                                        <input type="text" name="mail_form_tel" placeholder="Telefon Numaranızı Giriniz" size="30" />
                                    </div>
                                    <div class="form-group col-sm-6">
                                        <input type="text" name="mail_form_eposta" placeholder="E-Posta Adresiniz" size="30" />
                                    </div>
                                </div>
                                <div class="row">
                                    <div class="form-group">
                                        <textarea name="mail_form_mesaj" rows="5" placeholder="Mesajınızı giriniz" required></textarea>
                                    </div>
                                </div>
                                <button type="submit" name="submit" class="btn lnk btn-main bg-btn6">Gönder <span class="circle"></span></button>
                        
                                    <p class="trm"><i class="fas fa-lock"></i>Spam mail koruma aktif.</p>
                                    <div id="msgSubmit" class="h3 text-center hidden"></div>
                                    <div class="clearfix"></div>
                            </form>
                        <?php } ?>
    if($_POST){
    try{
    
    ........
    
    send();
    
    }} catch (Exception $e) {
        echo "Message could not be sent. Mailer Error: {$mail->ErrorInfo}";
        die();
    }
    }
    try catch yapısını komple post koşuluna almalısın. Hepsini atsaydın düzgün çalışacak kodu atardım fakat üstte bir şablon bıraktım.