Jump to content
php.lv forumi

Nevar saprast, kapēc checkboxi gļuko


Cibiņš

Recommended Posts

Č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 by Cibiņš
Link to comment
Share on other sites

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

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

Guest
This topic is now closed to further replies.
×
×
  • Create New...