• 21-07-2016, 18:44:26
    #1
    Merhaba sevgili forum kullanıcıları ve üstadlar.

    SORUN HÂLÂ ÇÖZÜLMÜŞ DEĞİL. YARDIMLARINIZI BEKLİYORUM.

    Sorunum şu; action kısmına handler.php'yi eklediğimde etkileşim görülmüyor index.php'deki dosya yani Gönder dediğimde herhangi bir tepki vermiyor. Kodlamadan anlayan bana nasıl yapacağımız tarif edebilir mi?

    Şimdiden teşekkür ederim.

    elimde bir iletişim formu var, dosyaları da mevcut.

    form.js dosyasında smtp ayarı var lakin, smtp portu girecek yer yok.
    Site javascriptlerle yapılmış html tema. Panel yok. Yardım edebilecek kişi var ise çok iyi olur.



    index.php'deki kodları şu şekilde:

    <div class="col6">
                                <h2>İLETİŞİM</h2>
                                             <div class="wrapper">
                                            <form action=""MailHandler.php" id="ContactForm">	
                                            <div class="success"> Contact form submitted!&nbsp;&nbsp;We will be in touch soon.</div>	
           								 		<fieldset class="left">	
                                                            <div class="block">
                                                            <label class="name">
                                                                <span class="bg magRight1"><input type="text" value="İsminiz:" class="input"></span>
                                                                <span class="error">*This is not a valid name.</span> <span class="empty">*Boş bırakılamaz.</span> </label>
            											     <label class="email">
                											    <span class="bg"><input type="text" value="E-posta:" class="input"></span>
                											    <span class="error">*Geçerli bir mail adresi giriniz.</span> <span class="empty">*Boş bırakılamaz.</span> </label>
    						       
                                                             </div>
                                                             <div class="block">
                                                             <label class="message">
                											    <span class="bg"><textarea rows="1" cols="2">Mesajınız:</textarea></span>
                											    <span class="error">*Mesajınız çok kısa.</span> <span class="empty">*Boş bırakılamaz.</span> </label>
            										         </div>
                                                             <div class="formBtn right">
                                                                    <a href="MailHandler.php" data-type="submit" class="button">gönder</a>
                                                                     
                                                              </div>
                                                              <div class="formBtn right magrRight2">
                                                                     <a href="#" data-type="reset" class="button">temİzle</a>
                                                              </div>
        								  		    </fieldset>
                                                </form>
                                        </div>
                                </div>
    Mailhandler.php diye bir dosyam mevcut:

    <?php
    	$owner_email = $_POST["owner_email"];
    	$headers = 'From:' . $_POST["email"];
    	$subject = 'A message from your site visitor ' . $_POST["name"];
    	$messageBody = "";
    	
    	if($_POST['name']!='nope'){
    		$messageBody .= '<p>Visitor: ' . $_POST["name"] . '</p>' . "\n";
    		$messageBody .= '<br>' . "\n";
    	}
    	if($_POST['email']!='nope'){
    		$messageBody .= '<p>Email Address: ' . $_POST['email'] . '</p>' . "\n";
    		$messageBody .= '<br>' . "\n";
    	}else{
    		$headers = '';
    	}
    	if($_POST['state']!='nope'){		
    		$messageBody .= '<p>State: ' . $_POST['state'] . '</p>' . "\n";
    		$messageBody .= '<br>' . "\n";
    	}
    	if($_POST['phone']!='nope'){		
    		$messageBody .= '<p>Phone Number: ' . $_POST['phone'] . '</p>' . "\n";
    		$messageBody .= '<br>' . "\n";
    	}	
    	if($_POST['fax']!='nope'){		
    		$messageBody .= '<p>Fax Number: ' . $_POST['fax'] . '</p>' . "\n";
    		$messageBody .= '<br>' . "\n";
    	}
    	if($_POST['message']!='nope'){
    		$messageBody .= '<p>Message: ' . $_POST['message'] . '</p>' . "\n";
    	}
    	
    	if($_POST["stripHTML"] == 'true'){
    		$messageBody = strip_tags($messageBody);
    	}
    	
    	try{
    		if(!mail($owner_email, $subject, $messageBody, $headers)){
    			throw new Exception('mail failed');
    		}else{
    			echo 'mail sent';
    		}
    	}catch(Exception $e){
    		echo $e->getMessage() ."\n";
    	}
    ?>
    ve post php dosyam mevcut içeriği böyle


    <?php
    
    	var_dump($_POST);
    
    ?>
    Birde form js içeriği:

    //forms
    ;(function($){
    	$.fn.forms=function(o){
    		return this.each(function(){
    			var th=$(this)
    				,_=th.data('forms')||{
    					errorCl:'error',
    					emptyCl:'empty',
    					invalidCl:'invalid',
    					notRequiredCl:'notRequired',
    					successCl:'success',
    					successShow:'4000',
    					mailHandlerURL:'bin/MailHandler.php',
    					ownerEmail:'mailadresi@mail.com',
    					stripHTML:true,
    					smtpMailServer:'smtp.live.com',
    					targets:'input,textarea',
    					controls:'a[data-type=reset],a[data-type=submit]',
    					validate:true,
    					rx:{
    						".name":{rx:/^[a-zA-Z'][a-zA-Z-' ]+[a-zA-Z']?$/,target:'input'},
    						".state":{rx:/^[a-zA-Z'][a-zA-Z-' ]+[a-zA-Z']?$/,target:'input'},
    						".email":{rx:/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i,target:'input'},
    						".phone":{rx:/^\+?(\d[\d\-\+\(\) ]{5,}\d$)/,target:'input'},
    						".fax":{rx:/^\+?(\d[\d\-\+\(\) ]{5,}\d$)/,target:'input'},
    						".message":{rx:/.{20}/,target:'textarea'}
    					},
    					preFu:function(){
    						_.labels.each(function(){
    							var label=$(this),
    								inp=$(_.targets,this),
    								defVal=inp.val(),
    								trueVal=(function(){
    											var tmp=inp.is('input')?(tmp=label.html().match(/value=['"](.+?)['"].+/),!!tmp&&!!tmp[1]&&tmp[1]):inp.html()
    											return defVal==''?defVal:tmp
    										})()
    							trueVal!=defVal
    								&&inp.val(defVal=trueVal||defVal)
    							label.data({defVal:defVal})								
    							inp
    								.bind('focus',function(){
    									inp.val()==defVal
    										&&(inp.val(''),_.hideEmptyFu(label),label.removeClass(_.invalidCl))
    								})
    								.bind('blur',function(){
    									_.validateFu(label)
    									if(_.isEmpty(label))
    										inp.val(defVal)
    										,_.hideErrorFu(label.removeClass(_.invalidCl))											
    								})
    								.bind('keyup',function(){
    									label.hasClass(_.invalidCl)
    										&&_.validateFu(label)
    								})
    							label.find('.'+_.errorCl+',.'+_.emptyCl).css({display:'block'}).hide()
    						})
    						_.success=$('.'+_.successCl,_.form).hide()
    					},
    					isRequired:function(el){							
    						return !el.hasClass(_.notRequiredCl)
    					},
    					isValid:function(el){							
    						var ret=true
    						$.each(_.rx,function(k,d){
    							if(el.is(k))
    								ret=d.rx.test(el.find(d.target).val())										
    						})
    						return ret							
    					},
    					isEmpty:function(el){
    						var tmp
    						return (tmp=el.find(_.targets).val())==''||tmp==el.data('defVal')
    					},
    					validateFu:function(el){							
    						el.each(function(){
    							var th=$(this)
    								,req=_.isRequired(th)
    								,empty=_.isEmpty(th)
    								,valid=_.isValid(th)								
    							
    							if(empty&&req)
    								_.showEmptyFu(th.addClass(_.invalidCl))
    							else
    								_.hideEmptyFu(th.removeClass(_.invalidCl))
    							
    							if(!empty)
    								if(valid)
    									_.hideErrorFu(th.removeClass(_.invalidCl))
    								else
    									_.showErrorFu(th.addClass(_.invalidCl))								
    						})
    					},
    					getValFromLabel:function(label){
    						var val=$('input,textarea',label).val()
    							,defVal=label.data('defVal')								
    						return label.length?val==defVal?'nope':val:'nope'
    					}
    					,submitFu:function(){
    						_.validateFu(_.labels)							
    						if(!_.form.has('.'+_.invalidCl).length)
    							$.ajax({
    								type: "POST",
    								url:_.mailHandlerURL,
    								data:{
    									name:_.getValFromLabel($('.name',_.form)),
    									email:_.getValFromLabel($('.email',_.form)),
    									phone:_.getValFromLabel($('.phone',_.form)),
    									fax:_.getValFromLabel($('.fax',_.form)),
    									state:_.getValFromLabel($('.state',_.form)),
    									message:_.getValFromLabel($('.message',_.form)),
    									owner_email:_.ownerEmail,
    									stripHTML:_.stripHTML
    								},
    								success: function(){
    									_.showFu()
    								}
    							})			
    					},
    					showFu:function(){
    						_.success.slideDown(function(){
    							setTimeout(function(){
    								_.success.slideUp()
    								_.form.trigger('reset')
    							},_.successShow)
    						})
    					},
    					controlsFu:function(){
    						$(_.controls,_.form).each(function(){
    							var th=$(this)
    							th
    								.bind('click',function(){
    									_.form.trigger(th.data('type'))
    									return false
    								})
    						})
    					},
    					showErrorFu:function(label){
    						label.find('.'+_.errorCl).slideDown()
    					},
    					hideErrorFu:function(label){
    						label.find('.'+_.errorCl).slideUp()
    					},
    					showEmptyFu:function(label){
    						label.find('.'+_.emptyCl).slideDown()
    						_.hideErrorFu(label)
    					},
    					hideEmptyFu:function(label){
    						label.find('.'+_.emptyCl).slideUp()
    					},
    					init:function(){
    						_.form=_.me						
    						_.labels=$('label',_.form)
    
    						_.preFu()
    						
    						_.controlsFu()
    														
    						_.form
    							.bind('submit',function(){
    								if(_.validate)
    									_.submitFu()
    								else
    									_.form[0].submit()
    								return false
    							})
    							.bind('reset',function(){
    								_.labels.removeClass(_.invalidCl)									
    								_.labels.each(function(){
    									var th=$(this)
    									_.hideErrorFu(th)
    									_.hideEmptyFu(th)
    								})
    							})
    						_.form.trigger('reset')
    					}
    				}
    			_.me||_.init(_.me=th.data({forms:_}))
    			typeof o=='object'
    				&&$.extend(_,o)
    		})
    	}
    })(jQuery)
    
    $(window).load(function() {
        $('#ContactForm').forms({
            ownerEmail:'#'
       	});
    });
  • 21-07-2016, 23:40:07
    #2
    Yardımcı olabilecek kimse yokmu arkadaşlar?
  • 22-07-2016, 03:44:18
    #3
    Burdan gördüğüm kadarıyla inputlara değer vermemişsiniz
    <input type="text" value="İsminiz:" class="input">
    inputlara
    <input type="text" value="İsminiz:" class="input" name="name">
    <input type="text" value="E-posta:" class="input" name="email">
    <textarea rows="1" cols="2" name="message">Mesajınız:</textarea>
    ekleyip deneyin
  • 25-07-2016, 01:39:39
    #4
    Atasun adlı üyeden alıntı: mesajı görüntüle
    Burdan gördüğüm kadarıyla inputlara değer vermemişsiniz
    <input type="text" value="İsminiz:" class="input">
    inputlara
    <input type="text" value="İsminiz:" class="input" name="name">
    <input type="text" value="E-posta:" class="input" name="email">
    <textarea rows="1" cols="2" name="message">Mesajınız:</textarea>
    ekleyip deneyin
    O değerleri verdikten sonra? submit yani gönder butonu işlemiyor bunun için ne yapmam gerektiğini soruyorum? Gönder butonunun çalışmaması sorun.
  • 25-07-2016, 11:34:11
    #5
    Butonunuzda problem var gibi duruyor.

    <a href="MailHandler.php" data-type="submit" class="button">gönder</a>

    yerine

    <button type="submit">gönder</button>

    yazarak deneyin. Sayet basarılı olmazsa formun id="ContactForm" ifadesini silerek deneyin. Javacript ile formunuzun post edilmesi engelleniyordur.
  • 25-07-2016, 12:11:40
    #6
    <form action=""MailHandler.php" id="ContactForm"> yerine <form action=""MailHandler.php" id="ContactForm" method="POST"> olarak deneyin
  • 25-07-2016, 15:04:04
    #7
    Form kodların ;
    <form action=""MailHandler.php" id="ContactForm" method="post">	
        <div class="success"> Contact form submitted!&nbsp;&nbsp;We will be in touch soon.</div>	
        <fieldset class="left">	
            <div class="block">
            <label class="name">
                <span class="bg magRight1"><input type="text" value="İsminiz:" class="input" name="isim"></span>
                <span class="error">*This is not a valid name.</span> <span class="empty">*Boş bırakılamaz.</span> </label>
             <label class="email">
        	    <span class="bg"><input type="text" value="E-posta:" class="input" name="email"></span>
        	    <span class="error">*Geçerli bir mail adresi giriniz.</span> <span class="empty">*Boş bırakılamaz.</span> </label>
    
             </div>
             <div class="block">
             <label class="message">
        	    <span class="bg"><textarea rows="1" cols="2" name="message">Mesajınız:</textarea></span>
        	    <span class="error">*Mesajınız çok kısa.</span> <span class="empty">*Boş bırakılamaz.</span> </label>
             </div>
             <div class="formBtn right">
                    <a href="MailHandler.php" data-type="submit" class="button">gönder</a>
                     
              </div>
              <div class="formBtn right magrRight2">
                     <a href="#" data-type="reset" class="button">temİzle</a>
              </div>
        </fieldset>
    </form>
    mailhandler kısmındada post olarak gönderdigin isimleri düzeltirsin
  • 25-07-2016, 17:23:15
    #8
    Öncelikle '<form action=""MailHandler.php" id="ContactForm">' bu kısma method eklemelisin.
    '<form action=""MailHandler.php" id="ContactForm" method="POST">' bu şekilde post methodumuzu ekledik.
    Daha sonra input değerlerine birer name atamalısın. '<input type="text" value="İsminiz:" class="input" name ="username">' , '<input type="text" value="E-posta:" class="input" name="e-mail">'gibi.
    Ayrıca post ettiğin butonda form statusune uygun değil '<a href="MailHandler.php" data-type="submit" class="button">gönder</a>' bunu <input type="submit" name="submit" class="button" value="gönder"> şeklinde değiştir.
    Şimdi post ettiğimiz değerleri alalım. MailHandler.php sayfasında $username=$_POST['username']; şeklinde bir değişken tanımlarsan valuesi isminiz olan input değerine ulaşırsın.
    Ayrıca sayfanın post olma şartına bakmak için if($_POST) veya $submit=$_POST['submit']; if(isset($submit)) şeklinde bir if bloğu oluştuman gerekiyor.
    Sanırım biraz karışık anlattım .Yapamazsan skype adresimden bana ulaşabilirsin yardımcı olurum. Skype adresimi pm attım
  • 25-07-2016, 21:25:31
    #9
    byvolkan61 adlı üyeden alıntı: mesajı görüntüle
    <form action=""MailHandler.php" id="ContactForm"> yerine <form action=""MailHandler.php" id="ContactForm" method="POST"> olarak deneyin
    Ugurr adlı üyeden alıntı: mesajı görüntüle
    Form kodların ;
    <form action=""MailHandler.php" id="ContactForm" method="post">	
        <div class="success"> Contact form submitted!&nbsp;&nbsp;We will be in touch soon.</div>	
        <fieldset class="left">	
            <div class="block">
            <label class="name">
                <span class="bg magRight1"><input type="text" value="İsminiz:" class="input" name="isim"></span>
                <span class="error">*This is not a valid name.</span> <span class="empty">*Boş bırakılamaz.</span> </label>
             <label class="email">
        	    <span class="bg"><input type="text" value="E-posta:" class="input" name="email"></span>
        	    <span class="error">*Geçerli bir mail adresi giriniz.</span> <span class="empty">*Boş bırakılamaz.</span> </label>
    
             </div>
             <div class="block">
             <label class="message">
        	    <span class="bg"><textarea rows="1" cols="2" name="message">Mesajınız:</textarea></span>
        	    <span class="error">*Mesajınız çok kısa.</span> <span class="empty">*Boş bırakılamaz.</span> </label>
             </div>
             <div class="formBtn right">
                    <a href="MailHandler.php" data-type="submit" class="button">gönder</a>
                     
              </div>
              <div class="formBtn right magrRight2">
                     <a href="#" data-type="reset" class="button">temİzle</a>
              </div>
        </fieldset>
    </form>
    mailhandler kısmındada post olarak gönderdigin isimleri düzeltirsin
    ByScarecrow adlı üyeden alıntı: mesajı görüntüle
    Öncelikle '<form action=""MailHandler.php" id="ContactForm">' bu kısma method eklemelisin.
    '<form action=""MailHandler.php" id="ContactForm" method="POST">' bu şekilde post methodumuzu ekledik.
    Daha sonra input değerlerine birer name atamalısın. '<input type="text" value="İsminiz:" class="input" name ="username">' , '<input type="text" value="E-posta:" class="input" name="e-mail">'gibi.
    Ayrıca post ettiğin butonda form statusune uygun değil '<a href="MailHandler.php" data-type="submit" class="button">gönder</a>' bunu <input type="submit" name="submit" class="button" value="gönder"> şeklinde değiştir.
    Şimdi post ettiğimiz değerleri alalım. MailHandler.php sayfasında $username=$_POST['username']; şeklinde bir değişken tanımlarsan valuesi isminiz olan input değerine ulaşırsın.
    Ayrıca sayfanın post olma şartına bakmak için if($_POST) veya $submit=$_POST['submit']; if(isset($submit)) şeklinde bir if bloğu oluştuman gerekiyor.
    Sanırım biraz karışık anlattım .Yapamazsan skype adresimden bana ulaşabilirsin yardımcı olurum. Skype adresimi pm attım
    rasit adlı üyeden alıntı: mesajı görüntüle
    Butonunuzda problem var gibi duruyor.

    <a href="MailHandler.php" data-type="submit" class="button">gönder</a>

    yerine

    <button type="submit">gönder</button>

    yazarak deneyin. Sayet basarılı olmazsa formun id="ContactForm" ifadesini silerek deneyin. Javacript ile formunuzun post edilmesi engelleniyordur.
    Hepinize şimdilik teşekkür ederim, sunucuya şuan erişemediğim için deneyemiyorum. Gerçi hanginizin söylediğini deneyeceğim orası da mechul

    Sunucuya şuan erişiyorum yardımcı olabilecek var mı?