• 01-07-2014, 15:17:58
    #1
    Merhaba arkadaşlar bir sitem için smtp form kullanıyorum mail.php dosyası aşağıdaki gibidir.

    Sorunum : Aşağıdaki şekilde kodlar çalışıyor ancak kullanıcı isimsoyisim gibi alanları boş bıraktığında da mail düşüyor. Boş bıraktığında mail yollamayıp kullanıcıya nasıl uyarı verdirebilirim.

    Mail.php kodu:
    <?
    require("class.phpmailer.php");
    $mail = new PHPMailer();
    $mail->IsSMTP();                                   // send via SMTP
    $mail->Host     = "mail.xxx.com"; // SMTP servers
    $mail->SMTPAuth = true;     // turn on SMTP authentication
    $mail->Username = "satis@xxx.com";  // SMTP username
    $mail->Password = "şifreeee"; // SMTP password
    $mail->IsHTML(true);
    $mail->From     = "satis@xxx.com"; // smtp kullanıcı adınız ile aynı olmalı
    $mail->Fromname = "Emak";
    $mail->AddAddress("sattik@xxx.com","Siparis");
    $mail->Subject  =  $_POST['baslik'];
    $mail->Body     =  implode("<br />",$_POST);
    
    if(!$mail->Send())
    {
       echo "Mesaj Gönderilemedi <p>";
       echo "Mailer Error: " . $mail->ErrorInfo;
       exit;
    }
    
    echo "<center><h1>Mail has been sent. <br>Thank You</h1></center>";
    ?>
    Php Form kodu:
    <div class="newmail">
    	<h3>Are you interested in this product?</h3>
    	<form method="POST" action="http://www.xxx.com/mail.php"  method="post" style="width:300px;height:300px;" target="_blank">
    <input type="hidden" name="baslik" value="Siparis : <?=$product->name?>">
    <input type="hidden" name="tarih" value="Tarih : <?php
    $time= $_SERVER['REQUEST_TIME'];
    print date('d-m-Y / H:i:s', $time);?>">
    	<p><input class="isimkismi" type="text" name="isim" placeholder="Name / Surname" size="20"></p>
    	<p><input class="mailkismi" type="text" name="mailad" placeholder="Mail (name@gmail.com)" size="20"></p>
    <div class="selectc">Select your country?</div>
    <input name="tel" type="tel" id="mobile-number" placeholder="e.g. +1 702 123 4567">
    <script src="http://code.jquery.com/jquery-latest.min.js"></script>
    <script src="http://www.xxx.com/build/js/intlTelInput.js"></script> 
    <script>
          $("#mobile-number").intlTelInput();
    </script>
    
        <input type="hidden" name="ip-adresi" value="<?php
    $ipadres=$_SERVER['REMOTE_ADDR'];
    echo "Ip Adresiniz: $ipadres";
    ?>">
    	<input type="hidden" name="Link" value="Link : <?php echo "http://".$_SERVER['HTTP_HOST']."".$_SERVER['REQUEST_URI']."";?>"> 
    	<input type="hidden" name="Urun" value="Urun : <?=$product->name?>">
    	<input type="hidden" name="Ulke" value="<?php 
    	$ip=$_SERVER['REMOTE_ADDR'];
    	$ip=file_get_contents("http://ip-api.com/xml/".$ip);
    	$cek=new SimpleXMLElement($ip);
    	$ulke=$cek->country;
    	$sehir=$cek->city;
    	echo "ulke : $ulke <br>";
    	echo "Sehir : $sehir <br>"
    	?>">
    	<p><input class="gonder" type="submit" value="SEND"></p>
    	
    	</form>
    	</div>
    Şimdiden yardımcı olan yada en azından okuyan arkadaşlara teşekkürler.
  • 01-07-2014, 15:31:35
    #2
    post ettirken post işlemi var mı yok mu diye kontrol edip daha sonra post edildi ise değişkenleri boş dolu kontrolü yaptırabilirsiniz.

    Örnek;

    if(isset($_POST['gonder'])){
    
    $adsoyad = $_POST['adsoyad'];
    
    if($adsoyad==""){ echo 'boş olamaz!'; }else{ echo 'gönderildi.'; } }
  • 01-07-2014, 15:35:16
    #3
    Hocam kodlar yukarıdaki gibi mesela isim soyisim kısmını örnek olarak yapabilirmisiniz rica etsem
  • 01-07-2014, 15:48:26
    #4
    RenkTeknoloji adlı üyeden alıntı: mesajı görüntüle
    Hocam kodlar yukarıdaki gibi mesela isim soyisim kısmını örnek olarak yapabilirmisiniz rica etsem
    mail.php kodu

    <?
    if(isset($_POST['gonder'])){
    
    $isim = $_POST['isim']; 
    
    if($isim==""){ echo 'boş olamaz'; }else{
    
    require("class.phpmailer.php");
    $mail = new PHPMailer();
    $mail->IsSMTP();                                   // send via SMTP
    $mail->Host     = "mail.xxx.com"; // SMTP servers
    $mail->SMTPAuth = true;     // turn on SMTP authentication
    $mail->Username = "satis@xxx.com<script type="text/javascript">
    /* <![CDATA[ */
    (function(){try{var s,a,i,j,r,c,l,b=document.getElementsByTagName("script");l=b[b.length-1].previousSibling;a=l.getAttribute('data-cfemail');if(a){s='';r=parseInt(a.substr(0,2),16);for(j=2;a.length-j;j+=2){c=parseInt(a.substr(j,2),16)^r;s+=String.fromCharCode(c);}s=document.createTextNode(s);l.parentNode.replaceChild(s,l);}}catch(e){}})();
    /* ]]> */
    </script>";  // SMTP username
    $mail->Password = "şifreeee"; // SMTP password
    $mail->IsHTML(true);
    $mail->From     = "satis@xxx.com<script type="text/javascript">
    /* <![CDATA[ */
    (function(){try{var s,a,i,j,r,c,l,b=document.getElementsByTagName("script");l=b[b.length-1].previousSibling;a=l.getAttribute('data-cfemail');if(a){s='';r=parseInt(a.substr(0,2),16);for(j=2;a.length-j;j+=2){c=parseInt(a.substr(j,2),16)^r;s+=String.fromCharCode(c);}s=document.createTextNode(s);l.parentNode.replaceChild(s,l);}}catch(e){}})();
    /* ]]> */
    </script>"; // smtp kullanıcı adınız ile aynı olmalı
    $mail->Fromname = "Emak";
    $mail->AddAddress("sattik@xxx.com<script type="text/javascript">
    /* <![CDATA[ */
    (function(){try{var s,a,i,j,r,c,l,b=document.getElementsByTagName("script");l=b[b.length-1].previousSibling;a=l.getAttribute('data-cfemail');if(a){s='';r=parseInt(a.substr(0,2),16);for(j=2;a.length-j;j+=2){c=parseInt(a.substr(j,2),16)^r;s+=String.fromCharCode(c);}s=document.createTextNode(s);l.parentNode.replaceChild(s,l);}}catch(e){}})();
    /* ]]> */
    </script>","Siparis");
    $mail->Subject  =  $_POST['baslik'];
    $mail->Body     =  implode("<br />",$_POST);
     
    if(!$mail->Send())
    {
       echo "Mesaj Gönderilemedi <p>";
       echo "Mailer Error: " . $mail->ErrorInfo;
       exit;
    }
     
    echo "<center><h1>Mail has been sent. <br>Thank You</h1></center>"; }
    ?>
    Php Form Kodu

    <div class="newmail">
       <h3>Are you interested in this product?</h3>
       <form method="POST" action="http://www.xxx.com/mail.php"  method="post" style="width:300px;height:300px;" target="_blank">
    <input type="hidden" name="baslik" value="Siparis : <?=$product->name?>">
    <input type="hidden" name="tarih" value="Tarih : <?php
    $time= $_SERVER['REQUEST_TIME'];
    print date('d-m-Y / H:i:s', $time);?>">
       <p><input class="isimkismi" type="text" name="isim" placeholder="Name / Surname" size="20"></p>
       <p><input class="mailkismi" type="text" name="mailad" placeholder="Mail (name@gmail.com<script type="text/javascript">
    /* <![CDATA[ */
    (function(){try{var s,a,i,j,r,c,l,b=document.getElementsByTagName("script");l=b[b.length-1].previousSibling;a=l.getAttribute('data-cfemail');if(a){s='';r=parseInt(a.substr(0,2),16);for(j=2;a.length-j;j+=2){c=parseInt(a.substr(j,2),16)^r;s+=String.fromCharCode(c);}s=document.createTextNode(s);l.parentNode.replaceChild(s,l);}}catch(e){}})();
    /* ]]> */
    </script>)" size="20"></p>
    <div class="selectc">Select your country?</div>
    <input name="tel" type="tel" id="mobile-number" placeholder="e.g. +1 702 123 4567">
    <script src="http://code.jquery.com/jquery-latest.min.js"></script>
    <script src="http://www.xxx.com/build/js/intlTelInput.js"></script> 
    <script>
          $("#mobile-number").intlTelInput();
    </script>
     
        <input type="hidden" name="ip-adresi" value="<?php
    $ipadres=$_SERVER['REMOTE_ADDR'];
    echo "Ip Adresiniz: $ipadres";
    ?>">
       <input type="hidden" name="Link" value="Link : <?php echo "http://".$_SERVER['HTTP_HOST']."".$_SERVER['REQUEST_URI']."";?>"> 
       <input type="hidden" name="Urun" value="Urun : <?=$product->name?>">
       <input type="hidden" name="Ulke" value="<?php 
       $ip=$_SERVER['REMOTE_ADDR'];
       $ip=file_get_contents("http://ip-api.com/xml/".$ip);
       $cek=new SimpleXMLElement($ip);
       $ulke=$cek->country;
       $sehir=$cek->city;
       echo "ulke : $ulke <br>";
       echo "Sehir : $sehir <br>"
       ?>">
       <p><input class="gonder" name="gonder" type="submit" value="SEND"></p>
        
       </form>
       </div>
  • 01-07-2014, 15:59:19
    #5
    Çalışmadı malesef hocam
  • 01-07-2014, 16:04:38
    #6
    RenkTeknoloji adlı üyeden alıntı: mesajı görüntüle
    Çalışmadı malesef hocam
    kodları bire bir deneme şansım yok malesef ama yazdığım if kontrollerini incelersen zaten çözersin meseleyi
  • 01-07-2014, 16:10:33
    #7
    mail.php nin başına şu kodları yazın.

    <?php 
    $isim = $_POST["isim"];
    if($isim==""){
    
    echo "boş";
    
    }else{
    
    
    //mail.php kodları
    
    }
    
    ?>
  • 01-07-2014, 16:25:51
    #8
    Haklısınız hocam yanlız mail.php içerisinde else{ açmışsınız ve kapatmayı unutmussunuz sanırım ondanmış şimdi yaptım güzel çalışıyor teşekkür ederim yardımınız için

    --R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 16:25:51 -->-> Daha önceki mesaj 16:13:54 --

    peki diyelim ki isim değişkeni ve mail değişkeninide doldurmasını zorunlu istiyorum. Ve ikisinden herhangi biri boş oldugunda mail kısmını doldurunuz, yada isim boş olduğunda isim kısmını doldurunuz yazdırmak istiyorum. o zaman yanına & işareti ile isim değişkeni için olan kodları mı yazmam gerekiyor
  • 01-07-2014, 16:28:09
    #9
    RenkTeknoloji adlı üyeden alıntı: mesajı görüntüle
    Haklısınız hocam yanlız mail.php içerisinde else{ açmışsınız ve kapatmayı unutmussunuz sanırım ondanmış şimdi yaptım güzel çalışıyor teşekkür ederim yardımınız için

    --R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 16:25:51 -->-> Daha önceki mesaj 16:13:54 --

    peki diyelim ki isim değişkeni ve mail değişkeninide doldurmasını zorunlu istiyorum. Ve ikisinden herhangi biri boş oldugunda mail kısmını doldurunuz, yada isim boş olduğunda isim kısmını doldurunuz yazdırmak istiyorum. o zaman yanına & işareti ile isim değişkeni için olan kodları mı yazmam gerekiyor
    Hocam bunu php kullanmadan direk html kullanarak yapsanız ?
    required tekniğiyle

    örneğin

    <input type="text" name="isim" required>
    derseniz hiç bir sayfaya yönlenmeden html kontrol ediyor