• 05-02-2019, 23:52:05
    #1
    Üyeliği durduruldu
    Arkadaşlar merhaba,

    Php iletişim formumda, ad - email - tel - mesaj alanları bulunmaktadır..

    email alanını soyad olarak text boxunu değiştirdim..

    form gönderilirken form control email alanına hali ile @ gibi işaret istiyor.. bunu bir türli iptal edemedim..

    sanırım şu alanda düzenleme yapmak gerekiyor.. Yardımcı olabilirmisiniz..

    jQuery(document).ready(function($) {
      "use strict";
    
      //Contact
      $('form.contactForm').submit(function() {
        var f = $(this).find('.form-group'),
          ferror = false,
          emailExp = /^[^s()<>@,;:/]+@w[w.-]+.[a-z]{2,}$/i;
    
        f.children('input').each(function() { // run all inputs
    
          var i = $(this); // current input
          var rule = i.attr('data-rule');
    
          if (rule !== undefined) {
            var ierror = false; // error flag for current input
            var pos = rule.indexOf(':', 0);
            if (pos >= 0) {
              var exp = rule.substr(pos + 1, rule.length);
              rule = rule.substr(0, pos);
            } else {
              rule = rule.substr(pos + 1, rule.length);
            }
    
            switch (rule) {
              case 'required':
                if (i.val() === '') {
                  ferror = ierror = true;
                }
                break;
    
              case 'minlen':
                if (i.val().length < parseInt(exp)) {
                  ferror = ierror = true;
                }
                break;
    
              case 'email':
                if (!emailExp.test(i.val())) {
                  ferror = ierror = true;
                }
                break;
    
              case 'checked':
                if (!i.attr('checked')) {
                  ferror = ierror = true;
                }
                break;
    
              case 'regexp':
                exp = new RegExp(exp);
                if (!exp.test(i.val())) {
                  ferror = ierror = true;
                }
                break;
            }
            i.next('.validation').html((ierror ? (i.attr('data-msg') !== undefined ? i.attr('data-msg') : 'wrong Input') : '')).show('blind');
          }
        });
        f.children('textarea').each(function() { // run all inputs
    
          var i = $(this); // current input
          var rule = i.attr('data-rule');
    
          if (rule !== undefined) {
            var ierror = false; // error flag for current input
            var pos = rule.indexOf(':', 0);
            if (pos >= 0) {
              var exp = rule.substr(pos + 1, rule.length);
              rule = rule.substr(0, pos);
            } else {
              rule = rule.substr(pos + 1, rule.length);
            }
    
            switch (rule) {
              case 'required':
                if (i.val() === '') {
                  ferror = ierror = true;
                }
                break;
    
              case 'minlen':
                if (i.val().length < parseInt(exp)) {
                  ferror = ierror = true;
                }
                break;
            }
            i.next('.validation').html((ierror ? (i.attr('data-msg') != undefined ? i.attr('data-msg') : 'wrong Input') : '')).show('blind');
          }
        });
        if (ferror) return false;
        else var str = $(this).serialize();
        $.ajax({
          type: "POST",
          url: "contactform/contactform.php",
          data: str,
          success: function(msg) {
            // alert(msg);
            if (msg == 'OK') {
              $("#sendmessage").addClass("show");
              $("#errormessage").removeClass("show");
              $('.contactForm').find("input, textarea").val("");
            } else {
              $("#sendmessage").removeClass("show");
              $("#errormessage").addClass("show");
              $('#errormessage').html(msg);
            }
    
          }
        });
        return false;
      });
    
    });
  • 05-02-2019, 23:56:42
    #2
    İnput type=email olan inputu type=text olarak değiştirin sorununuz çözülecektir
  • 06-02-2019, 00:00:07
    #3
    Üyeliği durduruldu
    Ceu adlı üyeden alıntı: mesajı görüntüle
    İnput type=email olan inputu type=text olarak değiştirin sorununuz çözülecektir

    düzelmedi hocam
  • 06-02-2019, 00:00:09
    #4
    ...ek olarak data-rule=“email” kısmını silin.
  • 06-02-2019, 00:02:34
    #5
    Üyeliği durduruldu
    aCadir adlı üyeden alıntı: mesajı görüntüle
    ...ek olarak data-rule=“email” kısmını silin.

    sildim olmadı hocam
  • 06-02-2019, 00:08:50
    #6
    bu kadar veriye bu kadar tahmin. Paylaştığınız kodlar jquery; html kısmını da paylaşın. (Konunun php ile alakası yok.)
  • 06-02-2019, 00:12:50
    #7
    Üyeliği durduruldu
    aCadir adlı üyeden alıntı: mesajı görüntüle
    bu kadar veriye bu kadar tahmin. Paylaştığınız kodlar jquery; html kısmını da paylaşın. (Konunun php ile alakası yok.)
    buyurun hocam buda html sayfası...

    <div class="container">
            <div class="form">
              <div id="sendmessage">Mesajınız gönderildi!</div>
              <div id="errormessage"></div>
              <form action="" method="post" role="form" class="contactForm">
                <div class="form-row">
                  <div class="form-group col-md-6">
                    <input type="text" name="name" class="form-control" id="name" placeholder="isim" data-rule="minlen:4" data-msg="lütfen bu alanı doldurunuz" />
                    <div class="validation"></div>
                  </div>
                  <div class="form-group col-md-6">
                    <input type="text" class="form-control" name="soyad" id="soyad" placeholder="soyad"  data-msg="lütfen bu alanı doldurunuz" />
                    <div class="validation"></div>
                  </div>
                </div>
                <div class="form-group">
                  <input type="text" class="form-control" name="subject" id="subject" placeholder="Tel" data-rule="minlen:4" data-msg="lütfen bu alanı doldurunuz" />
                  <div class="validation"></div>
                </div>
                <div class="form-group">
                  <textarea class="form-control" name="message" rows="5" data-rule="required" data-msg="lütfen bu alanı doldurunuz" placeholder="mesaj"></textarea>
                  <div class="validation"></div>
                </div>
                <div class="text-center"><button type="submit">Gönder</button></div>
              </form>
            </div>
    
          </div>
        </section>
    buda php kodları...

    <?php
    include 'class.phpmailer.php';
    
    $isim = $_POST["name"];
    $eposta = $_POST["soyad"];
    $konu = $_POST["subject"];
    $mesaj = $_POST["message"];
    
    if ( filter_var($eposta, FILTER_VALIDATE_EMAIL) ){
    $mail = new PHPMailer();
    $mail->IsSMTP();
    $mail->SMTPAuth = true;
    $mail->Host = '***************';
    $mail->Port = 587;
    $mail->Username = '***********;
    $mail->Password = '*****************;
    $mail->SetFrom($mail->Username, $isim);
    $mail->AddAddress('************ 'Alıcının Adı');
    $mail->CharSet = 'UTF-8';
    $mail->Subject = $konu;
    $mail->MsgHTML("Gönderici mail adresi: $eposta
    
    <br> Gönderici mesajı: $mesaj <br> Gönderici adı: $isim <br> Gönderici tel: $konu");
    if($mail->Send()) {
        echo 'OK';
    } else {
        echo 'Mail gönderilirken bir hata oluştu: ' . $mail->ErrorInfo;
    }
    }elseif($isim==""){
    echo "İsminiz boş gönderilemez!";
    }elseif($konu==""){
    echo "Lütfen konu başlığını yazınız!";
    }elseif($mesaj==""){
    echo "Mesajınızın içeriği boş olamaz!";
    } else {
    echo "E-posta adresiniz geçersiz!";
    }
    
    ?>

    bu şekilde test ettiğimde eposta adresiniz geçersiz uyarısını veriyor..
  • 06-02-2019, 00:17:00
    #8
    html: sorun yok. soyad kısmına data-rule=“required” ekleyin.
    php: filter_var kontrolünü iptal edin.
  • 06-02-2019, 00:20:09
    #9
    Üyeliği durduruldu
    aCadir adlı üyeden alıntı: mesajı görüntüle
    html: sorun yok. soyad kısmına data-rule=“required” ekleyin.
    php: filter_var kontrolünü iptal edin.

    olmuyor hocam eposta adresiniz geçersiz hatası veriyor yine.. ama @ işareti koyunca mail adresi yazınca gönderiyor sorunsuz..