Gönderme-başarı Form

2 Cevap php

Hey guys, well I have a very weird Form Submission problem on which I wasted days and still cannot figure it out: 1) when I fill in the form properly (for a new user) works well 2) if I try to register a user with an existing email... it just refreshes instead of throwing an error 3) if I submit the form after a failed attempt I do not receive any success sign although data has been submitted to the database here is my code:

 $(function() {  
 $("#send").click(function() {  
    // validate and process form here  
//var email = $("#email").val();
//var lname =  $("input#lname").val();
var dataString = $("#pForm").serialize();
//alert (dataString);
		$.ajax({ 
			type: "POST",
  			url: "../php/insertUser.php",
  			data: dataString,
			success:function(msg, status){
		//alert (dataString);
		var reply = parseInt(msg);
		alert(status+ "" + msg);
		if(reply ==1){
			alert('Email address already exists in our members database.\nPlease try another address and then submit it again!');
		}
		else if(reply ==2){ //do nothing
		//	alert('You have one or more empty fields!\nPlease provide all the information required and then submit it again!');
		}
		else if(reply == 0){
		$('#pForm').hide('fast');
		$('#accForm').show('slow');
		}
							  }
				});      

  });  
});

ve benim php bu gibi görünüyor:

 <?php 
 include ('databaseCon.php');
 $err = 0;
//echo $data= $_POST['dataString'];
 $accType = $_POST['accType'];
 $fname =$_POST['fname'];
 $lname = $_POST['lname'];
 $email = $_POST['email'];

 $country = $_POST['country'];
 $state = $_POST['state'];
 $city = $_POST['city'];



 // check for empty fields
 if (($accType == "") || ($fname == "") || ($lname == "") || ($email == "") || ($country == "") || ($city == "")){
$empty = true;
}

if ($email != ""){
	$em = mysql_query("Select Email from Users where Email = '$email';") or die(mysql_error());
	$row = mysql_num_rows($em);

	}
//else{echo "unknown error 2 " + $email + "\n";}
	if ($empty == false){
		//echo ""+ $accType +"\n"+ $fname +"\n"+ $lname +"\n"+ $email +"\n"+ $country +"\n"+  $state +"\n"+ $city + "" ;
		if($row == 0){
		echo $users = mysql_query("Insert into Users values('','$fname', '$lname', '$email', '$accType', '$country', '$state', '$city');") or die(mysql_error());	
		}
		else{
			$err = 1;}
		}
	else{
	$err = 2;
	}
 echo $err;

 ?>

Yardımlarınız için herhangi bir fikir ve teşekkür!

2 Cevap

Eğer ajax çağrısı bir hata işleyicisi uygulayarak test ettiniz mi?

Alakasız bir not, gerçekten tercihen hazırlamak, sorguları veri kaçan / veritabanı koruma çeşit kullanmanız gerekir.

if(reply ==1){
    alert('Email address already exists in our members database.\nPlease try another address and then submit it again!');
    return false;
}

Bu deneyin.