Ciao a tutti, è da un paio di mesi che sono tornato a dilettarmi di webdesign.
Mi sono rivolto a quest forum per condividere un paradosso.
Ho creato una pagina di registrazione tramite validazione jquery validation plugnin, e con tre funzioni ajax che controllano i dati con il db, tutte interfacciate a pagine php che vegono richiamate dalle funzioni jquery ajax.
Posto la pagina che riguarda il javascript non spaventatevi l'ho commentato per essere di maggiore comprensione. IL PROBLEMA è SULLA PRIMA CHIAMATA AJAX CHE, NONOSTANTE VENGA ESEGUITA E RESTITUISCE AL DOM LA RISPOSTA DELLA PAGINA ACTIVATION.PHP,
L'IF DI CONTROLLO NON VIENE CONSIDERATO E MI DA SEMPRE ESITO NEGATIVO.

AIUTATEMI è UNA SETTIMANA CHE DEDICO 3/4 ORE AL GIORNO PER RISOLVERE QUESTO PROBLEMA.


codice:
// recupero le varibili di ritornate dal link presente nella mail di conferma

function parseGetVars()
{
  
  var args = new Array();
  var query = window.location.search.substring(1);
  if (query)
  {
   var strList = query.split('&');
    for(str in strList)
    {
      var parts = strList[str].split('=');
      args[unescape(parts[0])] = unescape(parts[1]);
    }
  }
  return args;
}

var get = parseGetVars();
var attivationvar = get['attivation'];
var uservar = get['user'];
// FINE-----recupero le varibili ritornate dal link presente nella mail di conferma

// eseguo chiamata ajax  che verifica la presenza del link di validazione tramite aperto dall'email di conferma inviando i dati ad activation.php; la pagina php restituisce l'echo "1"; se la pag. php ha esito positivo o l'echo "0"; se l'esito è negativo.
jQuery(document).ready(function($){ 

//-------------PROBLEMA------------PROBLEMA
$(function() {
$.ajax({
			type: "POST",
			url: "activation.php",
			data: "attivation=" + attivationvar + "&user=" + uservar,
			//dataType:"html",
			success: function(data) {
				  if(data == "1") {
					  $("#message").html('siiiiiii');
					  //alert("you are logged in successfully!");
					} else {
						 $("#message").html('NOOOOOOO');
					// alert("you are NOT logged in successfully!");
					}
					},
            error: function() {alert('failed');}
			
		});
});
//-------------PROBLEMA------------PROBLEMA



//FINE---- verifica link conferma mail ajax
	
// funzione che fa apparire una lightwindow cliccando sul pulsante register now
//------------popup lightwindow	
	
										$(".apri").click(function(){
										
										$('#overlay').fadeIn('fast');
										
										$('#form').fadeIn('slow');
										
										});
										
										$(".chiudi").click(function(){
										
										$('#overlay').fadeOut('fast');
										
										$('#form').hide();
										
										});
										
										$("#overlay").click(function(){
										
										$(this).fadeOut('fast');
										
										$('#form').hide();
										
										});

//FINE-----funzione che fa apparire una lightwindow cliccando sul pulsante register now	
// validazione form registrazione	
	$("#form").validate({
	wrapper: "li",
	errorLabelContainer: $("#error"),
		
		rules: {
			name: {
				required:true,
				minlength:3,
				maxlength: 20
			},
			lastname: {
				required: true,
				minlength:3,
				maxlength: 20
			},
			year: {
				required: true
			},
			user: {
				required: true,
				email: true,
				remote: "mailcheck.php"  //verifica presenza nel database collegato a file php esterno
			},
			userrpt: {
				required: true,
				equalTo: "#user",
			},
			phone: {
				required: true,
				digits: true,
				maxlength: 10
			},
			address: {
				required: true,
				minlength: 5,
				maxlength: 30
			},
			city: {
				required: true,
				minlength: 4,
				maxlength: 20
			},
			country: {
				required: true
			},
			password: {
				minlength: 6,
				maxlength: 10,
				required: true
			},
			passwordrpt: {
				required: true,
				equalTo: "#password"
			}
		},//rules
		
		messages:{
 name: {
				required: "name: is required",
				minlength: "name: enter at least 3 characters",
				maxlength: "name: enter no more than 20 characters"
			},
			lastname: {
				required: "lastname: is required",
				minlength: "lastname: enter at least 3 characters",
				maxlength: "lastname: enter no more than 20 characters"
			},
			year: {
				required: "date of birth: is required"
			},
			user: {
				required: "mail: is required",
				email: "email: enter a valid email address",
				remote: "email: this email address is already in use"  //verifica presenza nel database collegato a file php esterno
			},
			userrpt: {
				required: "re-mail: is required",
				equalTo: "re-mail doesn't match"
			},
			phone: {
				required: "phone: is required",
				digits: "phone: enter only digits",
				maxlength: "phone: enter no more than 10 characters."
			},
			address: {
				required: "address: is required",
				minlength: "address: enter at least 5 characters",
				maxlength: "address: enter no more than 30 characters"
			},
			city: {
				required: "city: is required",
				minlength: "city: enter at least 4 characters",
				maxlength: "city: enter no more than 20 characters"
			},
			country: {
				required: "country: is required"
			},
			password: {
				required: "password: is required",
				minlength: "password: enter at least 6 characters",
				maxlength: "password: enter no more than 10 characters"
			},
			passwordrpt: {
				required: "re-password: is required",
				equalTo: "re-password: doesn't match"
			}
     
    },//end messages
 //FINE----validazione form registrazione 

//funzione ajax di invio dati a reg.php per inserimento nel DB ed invio mail con link	
    submitHandler: function(form) {
          $.ajax({
            type: "POST",
            url: "reg.php",
            data: $(form).serialize(),
            //timeout: 3000,
			beforeSend: function() {
                $('#sending').show('fast');
				},
           
				 success: 
				 function(result2) {
				  if (result2 == 'success') {
					$('#sending').hide();
					alert("Registration successfull: check your email address and click on link to finish registration");
					$('#overlay').fadeOut('fast');
					$('#form').hide();
					} else {alert("your email address is already registered"); 
					$('#sending').hide();
					$('.apri').hide();
					}
					},
            error: function() {alert('failed');}
          });
          return false;
      }
  });//validate
//FINE----Validazione e funzione ajax di invio dati a reg.php per inserimento nel DB ed invio mail con link	
	
// funzione ajax per gestione login utente
	$("#login").click(function() {
		$.ajax({
            type: "POST",
            url: "doLogin.php",
            data: $(form1).serialize(),
			
     		success: function(result3) {
				  if (result3 == 'success') {
					$("#form1field").hide(0);
					$("#form1fieldpass").hide(0);
						$("#login").hide(0);
						$(".apri").hide(0);
						$('#message').css('padding-top','50px')
						$('#message').css('font-size','20px')
						$('#message').css('border','0px')
						$("#message").show('fast').html("

You are logged in successfully!</p>");
					$('.apri').hide();
					} else {alert('failed else');}
					},
            error: function() {alert('failed');}
          });
		
		return false;
	});
//FINE---- funzione ajax per gestione login utente


});//FINE--- document.ready