Cibiņš Posted May 23, 2012 Report Share Posted May 23, 2012 (edited) Čau! Te es atkal ar savām problēmām :D Lieta tāda ka gļuko checkboxi. Respektīvi, visa forma ar ajax strādā kā nākās. Tikai kāda velna pēc checkboxis "Piekrītu portāla lietošanas noteikumiem", kas defaultā ir false, tiek izlaists kā true, ja tas ir false??? forma http://paste.php.lv/...d7117c?lang=php AJAX $(document).ready(function() { $("#register").click(function() { var action = $("#form-register").attr('action'); var form_data = { name: $("#register-name").val(), surname: $("#register-surname").val(), username: $("#register-username").val(), password: $("#register-password").val(), password2: $("#register-password2").val(), email: $("#register-email").val(), phone: $("#register-phone").val(), date: $("#register-date").val(), month: $("#register-month").val(), year: $("#register-year").val(), news: $("#checkbox-1").is(':checked'), chkterms: $("#checkbox-2").is(':checked'), is_ajax: 1 }; $.ajax({ type: "POST", url: 'process.php', data: form_data, success: function(response) { setTimeout(function(){ $("div.errmsg").fadeOut("slow", function () { $("div.errmsg").remove(); }); }, 2300); if(response == 'regsuccess'){ $("#status-register").html('<div id="error-success" class="errmsg">Reģistrācija sekmīga! Lūdzu aplūkojiet savu e-pastu!</div>'); //window.setTimeout(function(){location.reload()},2800); } else if(response=='regempty-data'){ $("#status-register").html('<div id="error-warning" class="errmsg">Visiem nepieciešamajiem laukiem jābūt aizpildītiem!</div>'); } else if(response=='invalid-mail'){ $("#status-register").html('<div id="error-warning" class="errmsg">Nepieciešams ievadīt derīgu e-pasta adresi!</div>'); } else if(response=='check-terms'){ $("#status-register").html('<div id="error-warning" class="errmsg">Jāizlasa un jāakceptē lietošanas noteikumi!</div>'); } else{ $("#status-register").html('<div id="error-error" class="errmsg">Ups, kautkas nogājis šķērsām!</div>'); } } }); return false; }); }); Pārbaudes fails $is_ajax = $_REQUEST['is_ajax']; if(isset($is_ajax) && $is_ajax) { $name = $_REQUEST['name']; $surname = $_REQUEST['surname']; $username = $_REQUEST['username']; $password = $_REQUEST['password']; $password2 = $_REQUEST['password2']; $email = $_REQUEST['email']; $phone = $_REQUEST['phone']; $birthdate = $_REQUEST['date']; $birthmonth = $_REQUEST['month']; $birthyear = $_REQUEST['year']; $news = $_REQUEST['news']; $terms = $_REQUEST['chkterms']; $escaped_name=strip_tags(mysql_real_escape_string($name)); $escaped_surname=strip_tags(mysql_real_escape_string($surname)); $escaped_username=strip_tags(mysql_real_escape_string($username)); $escaped_password=strip_tags(mysql_real_escape_string($password)); $escaped_password2=strip_tags(mysql_real_escape_string($password2)); $escaped_email=strip_tags(mysql_real_escape_string($email)); $escaped_phone=strip_tags(mysql_real_escape_string($password2)); $escaped_birthdate=strip_tags(mysql_real_escape_string($birthdate)); $escaped_birthmonth=strip_tags(mysql_real_escape_string($birthmonth)); $escaped_birthyear=strip_tags(mysql_real_escape_string($birthyear)); $stripslashed_name=stripslashes($escaped_name); $stripslashed_surname=stripslashes($escaped_surname); $stripslashed_username=stripslashes($escaped_username); $stripslashed_password=stripslashes($escaped_password); $stripslashed_password2=stripslashes($escaped_password2); $stripslashed_email=stripslashes($escaped_email); $stripslashed_phone=stripslashes($escaped_phone); $stripslashed_birthdate=stripslashes($escaped_birthdate); $stripslashed_birthmonth=stripslashes($escaped_birthmonth); $stripslashed_birthyear=stripslashes($escaped_birthyear); $encode_passd1=sha1($stripslashed_password); $encode_passd2=sha1($stripslashed_password2); if(!$stripslashed_name || !$stripslashed_surname || !$stripslashed_username || !$stripslashed_password || !$stripslashed_password2 || !$stripslashed_email || !$stripslashed_birthdate || !$stripslashed_birthmonth || !$stripslashed_birthyear){ echo "regempty-data"; } else{ if(eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $stripslashed_email)){ if($terms==true){ echo "regsuccess"; } else{ echo "check-terms"; } } else { echo "invalid-mail"; } } } Izmēģināju ar šo $('#checkbox-2').live('click', function(){ alert($(this).is(':checked')); }); atgrieza true vai false atkarībā no tā, ir vai nav ieklikšķināts. Tikai kādā rakā php procesa fails to mēslu izlaiž cauri kā true lai gan tam jābūt false.. Nezin neviens??? Edited May 23, 2012 by Cibiņš Link to comment Share on other sites More sharing options...
briedis Posted May 23, 2012 Report Share Posted May 23, 2012 Tāpēc, ka "true" !== true, bet "true" == true un "false" !== false, bet "false" == true DEBUG DEBUG DEBUG! paskaties pats, kāda vērtība tad ir saņemta: var_dump($_POST['chkterms']); Link to comment Share on other sites More sharing options...
Cibiņš Posted May 24, 2012 Author Report Share Posted May 24, 2012 LOL..es jau tā arī domāju ka pateiks "debug"..lai gan es zadebugojos līdz vēmienam un šajā gadījumā neatkarīgi no tā, ir vai nav atķeksēts tas checkboxis, atgriež true, lai gan neatķeksētam būtu jāatgriež false. Link to comment Share on other sites More sharing options...
briedis Posted May 24, 2012 Report Share Posted May 24, 2012 ..bet tad tu debugoji un saprati, kur bija kļūda? Link to comment Share on other sites More sharing options...
daGrevis Posted May 24, 2012 Report Share Posted May 24, 2012 Tas ir pirmais solis, lai debagotu. Tālāk domā, kāpēc: «lai gan neatķeksētam būtu jāatgriež false». Link to comment Share on other sites More sharing options...
indoom Posted May 24, 2012 Report Share Posted May 24, 2012 paskaties tabulu "Comparisons of $x with PHP functions", it īpaši, pēdējās divas rindas un kas ir zem boolean kolonas http://lv.php.net/manual/en/types.comparisons.php Pareizi debugojot, gan jau to pats būtu atradis Link to comment Share on other sites More sharing options...
Cibiņš Posted May 24, 2012 Author Report Share Posted May 24, 2012 Njā Briedim bija taisnība..vaina bija tajā reģistrācijas procesā, kur vienkārši true vietā vajadzēja likt 'true', tad atgrieza visu kā vajag..paldies visiem! :)) Link to comment Share on other sites More sharing options...
Recommended Posts