• 07-01-2013, 18:43:22
    #1
    Üyeliği durduruldu
    Merhaba arkadaşlar jQuery ile PHP Anında form kontrolü uygulaması yapıyorum anında form kontrolünü yapabiliyorum problem yok ama veritabanına veri eklediğime dair geriye cevap döndürmüyor acaba 2 kere ajax komutu kullandığım için mi geriye cevap döndürmüyor ?

    kodlarım;

    index.php
    <!DOCTYPE HTML>
    <html lang="en-US">
    <head>
    	<meta charset="UTF-8">
    	<title>jQuery and PHP</title>
    	<style type="text/css">
    	
    	</style>
    	<script type="text/javascript" src="jquery-1.8.3.min.js"></script>
    	<script type="text/javascript">
    	$(document).ready(function(){
    		$("#submit").click(function(){
    			var veri = $("form").serialize();
    			jQuery.ajax({
    				type:"POST",
    				url:"kayit.php",
    				data:veri,
    				success:function(cvp){
    					if(cvp=="eklendi"){
    					alert("Kullanıcı veritabanına eklendi");
    					}else if(cvp=="eklenemedi"){
    					alert("HATA! kullanıcı veritabanına eklenemedi");
    					}
    				}
    			});
    		});
    	});
    	function Ekle(hangisi){
    		var username = $("#username").val();
    		var password = $("#password").val();
    		var email = $("#email").val();
    		var veriler = "username="+username+"&password="+password+"&email="+email+"&hangisi="+hangisi;
    		$.ajax({
    			type:"POST",
    			url:"kayit.php",
    			data:veriler,
    			success:function(msg){
    				if(msg=="username_kucuk"){
    					$(".username").html("Kullanıcı Adı 6 karakterden kısa olamaz.");
    					$("#submit").attr("disabled",true);
    				}else if(msg=="username_okey"){
    					 $(".username").html("Kullanıcı adı geçerli");
    					 	$("#submit").attr("disabled",false);
    				}else if(msg=="gecersiz_email"){
    					$(".email").html("Geçersiz e-mail adresi");
    					$("#submit").attr("disabled",true);
    				}else if(msg=="gecerli_email"){
    					$(".email").html("Email adresi standartlara uygun.");
    					$("#submit").attr("disabled",false);
    				}else if(msg=="password_kisa"){
    					$(".password").html("Password 6 karakterden kısa olamaz");
    					$("#submit").attr("disabled",true);
    				}else if(msg=="password_okey"){
    					$(".password").html("Parola standartlara uygun");
    					$("#submit").attr("disabled",false);
    				}
    				
    			}
    		});
    	}
    	</script>
    </head>
    <body>
    			<table cellpadding="5" cellspacing="5">
    			<form action="kayit.php" method="post" onsubmit="return false;">
    				<tr>
    					<td>Username</td>
    					<td>:</td>
    					<td><input type="text" name="username" id="username" onkeyup="Ekle('username');"/></td>
    					<td class="username"></td>
    				</tr>
    				<tr>
    					<td>Password</td>
    					<td>:</td>
    					<td><input type="text" name="password" id="password" onkeyup="Ekle('password');" /></td>
    					<td class="password"></td>
    				</tr>
    				<tr>
    					<td>Email</td>
    					<td>:</td>
    					<td><input type="text" name="email" id="email" onkeyup="Ekle('email');" /></td>
    					<td class="email"></td>
    				</tr>
    				<tr>
    					<td colspan="3"><input type="submit" value="Ekle" id="submit"/></td>
    				</tr>
    				<tr>
    					<td colspan="3" class="sonuc"></td>
    				</tr>
    			</form>
    			</table>
    </body>
    </html>
    kayit.php
    <?php
    	include	"config.php";
    	$username = $_POST["username"];
    	$password = $_POST["password"];
    	$email = $_POST["email"];
    	$hangisi = $_POST["hangisi"];
    	
    		if($hangisi=="username"){
    			if(strlen($username)<6){
    				echo "username_kucuk";
    			}else{
    				echo "username_okey";
    			}	
    		}else if($hangisi=="password"){
    				if(strlen($password)<6){
    					echo "password_kisa";
    				}else{
    					echo "password_okey";
    				}
    			}else if($hangisi=="email"){
    				if(!filter_var($email,FILTER_VALIDATE_EMAIL)){
    					echo "gecersiz_email";
    				}else{
    					echo "gecerli_email";
    				}
    			
    			}else{
    				$ekle = mysql_query("insert into uyeler (username,password,email) values ('$username','$password','$email')");
    				if($ekle){
    				echo "eklendi";
    				}else{
    				echo "eklenemedi";
    				}
    			}
    			
    				
    ?>
  • 07-01-2013, 19:41:38
    #2
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Şu kısmı:
    if(cvp=="eklendi"){
    	alert("Kullanıcı veritabanına eklendi");
    }else if(cvp=="eklenemedi"){
    	alert("HATA! kullanıcı veritabanına eklenemedi");
    }
    şöyle yap:
    if(cvp=="eklendi"){
    	alert("Kullanıcı veritabanına eklendi");
    }else if(cvp=="eklenemedi"){
    	alert("HATA! kullanıcı veritabanına eklenemedi");
    } else alert(cvp);
    Böylece sayfadan eklendi/eklenemedi den başka bir şey gelip gelmediğini öğreniriz.
    Ayrıca,
    error:function(hata,hataDurumu){
    	alert("Hata:"+hataDurumu);
    }
    ekle ki gerçekten veri posttun tam çalışıp çalışmadığını algılayalım.

    Aksi taktirde kodlarda bir sıkıntı göremedim ben.
  • 08-01-2013, 16:58:38
    #3
    success:function(cvp){
    alert(cvp);
    }
    dönen sonuca bakın boşluk varmı firefox ile boşluk daha iyi fark edilir. Olmadı trim yapın cvp ye js de
  • 08-01-2013, 18:27:31
    #4
    Üyeliği durduruldu
    Arkadaşlar ilginiz için teşekkür ediyorum yaklaşık 1 gün uğraşarak çözdüm sorunu çok teşekkür ediyorum.