Δεν κάνει redirect........

Κώδικας, πληροφορίες, ερωτήσεις και απαντήσεις σχετικές με την JavaScript.

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
rafinos
Δημοσιεύσεις: 301
Εγγραφή: 15 Μάιος 2011 00:20
Επικοινωνία:

Δεν κάνει redirect........

Δημοσίευση από rafinos » 04 Δεκ 2011 02:21

Γεια σας!

Θέλω όταν πατάω submit σε μια φόρμα να μην κάνει redirect αν είναι false τα πεδία και αν δεν είναι false να γίνεται κανονικά το redirect....
ποιο είναι το λάθος παρακάτω;;;;
Όταν είναι false δεν κάνει redirect αλλά όταν είναι true πάλι δεν κάνει... μήπως μπορεί κάποιος να βοηθήσεις;;;;

Κώδικας: Επιλογή όλων

<html>
<head>
	<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
	<script type="text/javascript" src="jquery.js"></script>
	<script type="text/javascript" src="register_fields.js"></script>
</head>
<body>
	<form name="form" method="post" action="reg.php" id="form">
		<table>
		<tr>
			<td>Ψευδώνυμο&#58;</td>
			<td><input type="text" id="username" name="username" maxlength="25"></td>
			<td><div id="ckusername"></div></td>
		</tr>
		<tr>
			<td>Κωδικός&#58;</td>
			<td><input type="password" id="password" name="password" maxlength="20"></td>
			<td><div id="ckpassword"></div></td>
		</tr>
		<tr>
			<td>Επαλήθευση κωδικού&#58;</td>
			<td><input type="password" id="password2" name="password2" maxlength="20"></td>
			<td><div id="ckpassword2"></div></td>
		</tr>
		<tr>
			<td>Email&#58;</td>
			<td><input type="text" id="email" name="email" maxlength="100"></td>
			<td><div id="ckemail"></div></td>
		</tr>
		<tr>
			<td>Επαλήθευση Email&#58;</td>
			<td><input type="text" id="email2" name="email2" maxlength="100"></td>
			<td><div id="ckemail2"></div></td>
		</tr>
		<tr>
			<td>Ημερομηνία γέννησης</td>
			<td>
				<select name="day" id="day" ></select>
				<select name="month" id="month"></select>
				<select name="year" id="year"></select>
			</td>
			<td><div id="ckdate"></div></td>
		</tr>
		</table>
		<input type="submit" value="submit" id="submit">
		<br/>
		
	</form>
	<script type="text/javascript" src="date.js"></script>
</body>
</html>

Κώδικας: Επιλογή όλων

$&#40;document&#41;.ready&#40;function&#40;&#41;&#123;
	
	var username = $&#40;'#username'&#41;;
	var password = $&#40;'#password'&#41;;
	var password2 = $&#40;'#password2'&#41;;
	var email = $&#40;'#email'&#41;;
	var email2 = $&#40;'#email2'&#41;;
	
	username.blur&#40;validateusername&#41;;
	email.blur&#40;validatemail&#41;;
	email2.blur&#40;validatemail2&#41;;
	password.blur&#40;validatepassword&#41;;
	password2.blur&#40;validatepassword2&#41;;

	username.keyup&#40;validateusername&#41;;
	email.keyup&#40;validatemail&#41;;
	email2.keyup&#40;validatemail2&#41;;
	password.keyup&#40;validatepassword&#41;;	
	password2.keyup&#40;validatepassword2&#41;;


	$&#40;'#form'&#41;.submit&#40;function&#40;&#41;&#123;
		if&#40;validateusername&#40;&#41; & validatemail&#40;&#41; & validatemail2&#40;&#41; & validatepassword&#40;&#41; & validatepassword2&#40;&#41; &#41;
			return true;
		else 
			return false;
	&#125;&#41;;
	
function validateusername&#40;&#41;&#123;
		if &#40;username.val&#40;&#41;.length < 1&#41; &#123;
			$&#40;"#ckusername"&#41;.css&#40;"color", "red"&#41;;
			$&#40;"#ckusername"&#41;.html&#40;"Παρακαλώ εισάγετε ένα ψευδώνυμο..."&#41;;
			return false;
		&#125; else if &#40;username.val&#40;&#41;.length > 3&#41; &#123;
			$.post&#40;"check/check_username.php", &#123;
			username &#58; username.val&#40;&#41;
			&#125;, function &#40;result&#41; &#123;
				if &#40;result < 1&#41; &#123;
					$&#40;"#ckusername"&#41;.html&#40;'<img src="images/correct.png" height="15" width="15">'&#41;;
					return true;
				&#125; else &#123;
					$&#40;"#ckusername"&#41;.html&#40;'<img src="images/wrong.png" height="15" width="15">'&#41;;
					return false;
				&#125;
			&#125;&#41;;
		&#125; else &#123;
			$&#40;"#ckusername"&#41;.html&#40;'<img src="images/wrong.png" height="15" width="15">'&#41;;
			return false;
		&#125;	
	&#125;
	
	function validatemail&#40;&#41;&#123;
		if &#40;email.val&#40;&#41;.length < 1&#41; &#123;
			$&#40;"#ckemail"&#41;.css&#40;"color", "red"&#41;;
			$&#40;"#ckemail"&#41;.html&#40;"Παρακαλώ εισάγετε ένα email..."&#41;;	
			return false;
		&#125; else &#123;
			$.post&#40;"check/check_email.php", &#123;
			email &#58; email.val&#40;&#41; &#125;, function &#40;emailresult&#41; &#123;
				if &#40;emailresult < 1&#41; &#123;
					$&#40;"#ckemail"&#41;.html&#40;'<img src="images/correct.png" height="15" width="15">'&#41;;
					return true;
				&#125; else &#123;
					$&#40;"#ckemail"&#41;.html&#40;'<img src="images/wrong.png" height="15" width="15">'&#41;;
					return false;
				&#125;    
			&#125;&#41;;
		&#125;
	&#125;
	
	function validatemail2&#40;&#41;&#123;
		if &#40;email2.val&#40;&#41;.length < 1&#41;&#123;
			$&#40;"#ckemail2"&#41;.css&#40;"color","red"&#41;;
			$&#40;"#ckemail2"&#41;.html&#40;"Παρακαλώ επαληθεύστε το email..."&#41;;
			return false;
		&#125;else if&#40;email2.val&#40;&#41; != email.val&#40;&#41;&#41;&#123;
			$&#40;"#ckemail2"&#41;.css&#40;"color","red"&#41;;
			$&#40;"#ckemail2"&#41;.html&#40;"Η επαλήθευση του email δεν είναι σωστή!"&#41;;
			return false;
		&#125;else&#123;
			$&#40;"#ckemail2"&#41;.html&#40;'<img src="images/correct.png" height="15" width="15">'&#41;;
			return true;
		&#125;
	&#125;
	
	function validatepassword&#40;&#41;&#123;
		var score = 0;
	
		if &#40;password.val&#40;&#41;.length<1&#41;&#123;
			$&#40;"#ckpassword"&#41;.css&#40;"color","red"&#41;;
			$&#40;"#ckpassword"&#41;.html&#40;"Παρακαλώ εισάγετε έναν κωδικό..."&#41;;
			return false;
		&#125;else if &#40;password.val&#40;&#41;.length<5&#41;&#123;
			$&#40;"#ckpassword"&#41;.css&#40;"color","red"&#41;;
			$&#40;"#ckpassword"&#41;.html&#40;"Ο κωδικός πρέπει να αποτελείται τουλάχιστον από 5 χαρακτήρες!"&#41;;
			return false;
		&#125;else if&#40;password.val&#40;&#41; ==  username.val&#40;&#41;&#41;&#123;
			$&#40;"#ckpassword"&#41;.css&#40;"color","red"&#41;;
			$&#40;"#ckpassword"&#41;.html&#40;"O κωδικός πρέπει να είναι διαφορετικός από το ψευδώνυμο!"&#41;;
			return false;
		&#125;else if&#40;password.val&#40;&#41;.length>=5&#41;&#123;
			if&#40;&#40;password.val&#40;&#41;.length==5&#41; || &#40;password.val&#40;&#41;.match&#40;/\d+/&#41;&#41;&#41;&#123;		
				score++;
			&#125;
			if&#40;password.val&#40;&#41;.length>5&#41;&#123;
				score++;
			&#125;
			if&#40;&#40;password.val&#40;&#41;.match&#40;/&#91;a-z&#93;/&#41;&#41; && &#40;password.val&#40;&#41;.match&#40;/&#91;A-Z&#93;/&#41;&#41;&#41;&#123;
				score++;
			&#125;
			if &#40;password.val&#40;&#41;.match&#40;/.&#91;!,@,#,$,%,^,&,*,?,_,~,-,&#40;,&#41;&#93;/&#41;&#41;&#123;
				score++;
			&#125;
			if&#40;password.val&#40;&#41;.length>10&#41;&#123;
				score++;
			&#125;
		&#125;
		
		if&#40;score==1&#41;&#123;
			$&#40;"#ckpassword"&#41;.css&#40;"color","red"&#41;;
			$&#40;"#ckpassword"&#41;.html&#40;"Αδύναμος κωδικός!"&#41;;
			return true;
		&#125;else if&#40;score>=2 && score<4&#41;&#123;
			$&#40;"#ckpassword"&#41;.css&#40;"color","blue"&#41;;
			$&#40;"#ckpassword"&#41;.html&#40;"Μέτριος κωδικός!"&#41;;
			return true;
		&#125;else if&#40;score>=4&#41;&#123;
			$&#40;"#ckpassword"&#41;.css&#40;"color","green"&#41;;
			$&#40;"#ckpassword"&#41;.html&#40;"Ισχυρός κωδικός!"&#41;;
			return true;
		&#125;
	&#125;
	
	function validatepassword2&#40;&#41;&#123;
	
		if&#40;password2.val&#40;&#41;.length<1&#41;&#123;
			$&#40;"#ckpassword2"&#41;.css&#40;"color","red"&#41;;
			$&#40;"#ckpassword2"&#41;.html&#40;"Παρακαλώ επαληθεύστε τον κωδικό..."&#41;;
			return false;
		&#125;else if&#40;password2.val&#40;&#41; != password.val&#40;&#41;&#41;&#123;
			$&#40;"#ckpassword2"&#41;.css&#40;"color","red"&#41;;
			$&#40;"#ckpassword2"&#41;.html&#40;"Η επαλήθευση του κωδικού δεν είναι σωστή!"&#41;;
			return false;
		&#125;else if&#40;password2.val&#40;&#41; == password.val&#40;&#41;&#41;&#123;
			$&#40;"#ckpassword2"&#41;.html&#40;'<img src="images/correct.png" height="15" width="15">'&#41;;
			return true;
		&#125;
	&#125; 
	
&#125;&#41;;
Η απάντηση δεν είναι σίγουρα το διπλό & στη συνθήκη του .submit....

Κατά 99% φταίνε τα .post που έχουν μέσα κάποιες συναρτήσεις, ξέρει κανείς πως μπορώ να το λύσω αυτό;;;;

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6231
Εγγραφή: 30 Νοέμ 2004 03:09

Δεν κάνει redirect........

Δημοσίευση από fafos » 04 Δεκ 2011 04:07

oles oi synthikes prepei na gyrnane kati.. se true h false.. otan leme true h false den einai aparaithto na to pairnoume autolexh.. enoume mia timh pou mas deixnei oti h tade synthikh epalhtheuetai kai h deina, tsou...

an loipon antikatasthseis ta true me '' (tipota dhladh) kai ta false me 1 mporeis na kaneis thn praxh kai na deis an sou gyrnaei kati.. an sou gyrnaei eisai false.. an sou gyrisei kena pantou eisai true (teleutaia function tou submit)..
oi functions omos den teleionoun panta me ena false h true idiaitera otan exeis kai alles synthikes mesa se kapoia function (vlepe username kai email pou trexeis thn post)..
etsi loipon, otan trexeis mia apo autes tis functions prepei na dhloseis prin tis kleiseis oti gyrnane true afou gia na ftasei mexri ekei h mhxanh shmainei oti den synanthse kapoio false... opote prosthesa kai apo ena return ''; se autes tis functions...

Κώδικας: Επιλογή όλων

$&#40;document&#41;.ready&#40;function &#40;&#41; &#123;
	
	var username = $&#40;'#username'&#41;;
	var password = $&#40;'#password'&#41;;
	var password2 = $&#40;'#password2'&#41;;
	var email = $&#40;'#email'&#41;;
	var email2 = $&#40;'#email2'&#41;;
	
	username.blur&#40;validateusername&#41;;
	email.blur&#40;validatemail&#41;;
	email2.blur&#40;validatemail2&#41;;
	password.blur&#40;validatepassword&#41;;
	password2.blur&#40;validatepassword2&#41;;
	
	username.keyup&#40;validateusername&#41;;
	email.keyup&#40;validatemail&#41;;
	email2.keyup&#40;validatemail2&#41;;
	password.keyup&#40;validatepassword&#41;;
	password2.keyup&#40;validatepassword2&#41;;
	
	function validateusername&#40;&#41; &#123;
		if &#40;username.val&#40;&#41;.length < 1&#41; &#123;
			$&#40;"#ckusername"&#41;.css&#40;"color", "red"&#41;;
			$&#40;"#ckusername"&#41;.html&#40;"Παρακαλώ εισάγετε ένα ψευδώνυμο..."&#41;;
			return 1;
		&#125; else if &#40;username.val&#40;&#41;.length > 3&#41; &#123;
			$.post&#40;"check_username.php", &#123;
				username &#58; username.val&#40;&#41;
			&#125;, function &#40;result&#41; &#123;
				if &#40;result < 1&#41; &#123;
					$&#40;"#ckusername"&#41;.html&#40;'<img src="images/correct.png" height="15" width="15">ok'&#41;;
					return '';
				&#125; else &#123;
					$&#40;"#ckusername"&#41;.html&#40;'<img src="images/wrong.png" height="15" width="15">no'&#41;;
					return 1;
				&#125;
			&#125;&#41;;
			
		&#125; else &#123;
			$&#40;"#ckusername"&#41;.html&#40;'<img src="images/wrong.png" height="15" width="15">'&#41;;
			return 1;
		&#125;
		return '';
	&#125;
	
	function validatemail&#40;&#41; &#123;
		if &#40;email.val&#40;&#41;.length < 1&#41; &#123;
			$&#40;"#ckemail"&#41;.css&#40;"color", "red"&#41;;
			$&#40;"#ckemail"&#41;.html&#40;"Παρακαλώ εισάγετε ένα email..."&#41;;
			return 1;
		&#125; else &#123;
			$.post&#40;"check_email.php", &#123;
				email &#58; email.val&#40;&#41;
			&#125;, function &#40;emailresult&#41; &#123;
				if &#40;emailresult < 1&#41; &#123;
					$&#40;"#ckemail"&#41;.html&#40;'<img src="images/correct.png" height="15" width="15">ok'&#41;;
					return '';
				&#125; else &#123;
					$&#40;"#ckemail"&#41;.html&#40;'<img src="images/wrong.png" height="15" width="15">no'&#41;;
					return 1;
				&#125;
				
			&#125;&#41;;
			return '';
		&#125;
	&#125;
	
	function validatemail2&#40;&#41; &#123;
		if &#40;email2.val&#40;&#41;.length < 1&#41; &#123;
			$&#40;"#ckemail2"&#41;.css&#40;"color", "red"&#41;;
			$&#40;"#ckemail2"&#41;.html&#40;"Παρακαλώ επαληθεύστε το email..."&#41;;
			return 1;
		&#125; else if &#40;email2.val&#40;&#41; != email.val&#40;&#41;&#41; &#123;
			$&#40;"#ckemail2"&#41;.css&#40;"color", "red"&#41;;
			$&#40;"#ckemail2"&#41;.html&#40;"Η επαλήθευση του email δεν είναι σωστή!"&#41;;
			return 1;
		&#125; else &#123;
			$&#40;"#ckemail2"&#41;.html&#40;'<img src="images/correct.png" height="15" width="15">ok'&#41;;
			return '';
		&#125;
	&#125;
	
	function validatepassword&#40;&#41; &#123;
		var score = 0;
		
		if &#40;password.val&#40;&#41;.length < 1&#41; &#123;
			$&#40;"#ckpassword"&#41;.css&#40;"color", "red"&#41;;
			$&#40;"#ckpassword"&#41;.html&#40;"Παρακαλώ εισάγετε έναν κωδικό..."&#41;;
			return 1;
		&#125; else if &#40;password.val&#40;&#41;.length < 5&#41; &#123;
			$&#40;"#ckpassword"&#41;.css&#40;"color", "red"&#41;;
			$&#40;"#ckpassword"&#41;.html&#40;"Ο κωδικός πρέπει να αποτελείται τουλάχιστον από 5 χαρακτήρες!"&#41;;
			return 1;
		&#125; else if &#40;password.val&#40;&#41; == username.val&#40;&#41;&#41; &#123;
			$&#40;"#ckpassword"&#41;.css&#40;"color", "red"&#41;;
			$&#40;"#ckpassword"&#41;.html&#40;"O κωδικός πρέπει να είναι διαφορετικός από το ψευδώνυμο!"&#41;;
			return 1;
		&#125; else if &#40;password.val&#40;&#41;.length >= 5&#41; &#123;
			if &#40;&#40;password.val&#40;&#41;.length == 5&#41; || &#40;password.val&#40;&#41;.match&#40;/\d+/&#41;&#41;&#41; &#123;
				score++;
			&#125;
			if &#40;password.val&#40;&#41;.length > 5&#41; &#123;
				score++;
			&#125;
			if &#40;&#40;password.val&#40;&#41;.match&#40;/&#91;a-z&#93;/&#41;&#41; && &#40;password.val&#40;&#41;.match&#40;/&#91;A-Z&#93;/&#41;&#41;&#41; &#123;
				score++;
			&#125;
			if &#40;password.val&#40;&#41;.match&#40;/.&#91;!,@,#,$,%,^,&,*,?,_,~,-,&#40;,&#41;&#93;/&#41;&#41; &#123;
				score++;
			&#125;
			if &#40;password.val&#40;&#41;.length > 10&#41; &#123;
				score++;
			&#125;
		&#125;
		
		if &#40;score == 1&#41; &#123;
			$&#40;"#ckpassword"&#41;.css&#40;"color", "red"&#41;;
			$&#40;"#ckpassword"&#41;.html&#40;"Αδύναμος κωδικός!"&#41;;
			return '';
		&#125; else if &#40;score >= 2 && score < 4&#41; &#123;
			$&#40;"#ckpassword"&#41;.css&#40;"color", "blue"&#41;;
			$&#40;"#ckpassword"&#41;.html&#40;"Μέτριος κωδικός!"&#41;;
			return '';
		&#125; else if &#40;score >= 4&#41; &#123;
			$&#40;"#ckpassword"&#41;.css&#40;"color", "green"&#41;;
			$&#40;"#ckpassword"&#41;.html&#40;"Ισχυρός κωδικός!"&#41;;
			return '';
		&#125;
	&#125;
	
	function validatepassword2&#40;&#41; &#123;
		
		if &#40;password2.val&#40;&#41;.length < 1&#41; &#123;
			$&#40;"#ckpassword2"&#41;.css&#40;"color", "red"&#41;;
			$&#40;"#ckpassword2"&#41;.html&#40;"Παρακαλώ επαληθεύστε τον κωδικό..."&#41;;
			return 1;
		&#125; else if &#40;password2.val&#40;&#41; != password.val&#40;&#41;&#41; &#123;
			$&#40;"#ckpassword2"&#41;.css&#40;"color", "red"&#41;;
			$&#40;"#ckpassword2"&#41;.html&#40;"Η επαλήθευση του κωδικού δεν είναι σωστή!"&#41;;
			return 1;
		&#125; else if &#40;password2.val&#40;&#41; == password.val&#40;&#41;&#41; &#123;
			$&#40;"#ckpassword2"&#41;.html&#40;'<img src="images/correct.png" height="15" width="15">ok'&#41;;
			return '';
		&#125;
	&#125;
	
	$&#40;'#form'&#41;.submit&#40;function &#40;&#41; &#123;
		var check = validateusername&#40;&#41;;
		check += validatemail&#40;&#41;;
		check += validatemail2&#40;&#41;;
		check += validatepassword&#40;&#41;;
		check += validatepassword2&#40;&#41;;
		
		if &#40;check == ''&#41; &#123;
			return true;
		&#125; else &#123;
			return false;
		&#125;
	&#125;&#41;;
	
&#125;&#41;;
Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...

rafinos
Δημοσιεύσεις: 301
Εγγραφή: 15 Μάιος 2011 00:20
Επικοινωνία:

Δεν κάνει redirect........

Δημοσίευση από rafinos » 04 Δεκ 2011 11:04

Εντάξει τι να πω.... δεν έχω λόγια αλλά μάλλον θα σταματίσω να θέτω ερωτήματα γιατί σε έχω ζαλίσει......
Να σε καλά!

rafinos
Δημοσιεύσεις: 301
Εγγραφή: 15 Μάιος 2011 00:20
Επικοινωνία:

Δεν κάνει redirect........

Δημοσίευση από rafinos » 07 Δεκ 2011 19:00

Κώδικας: Επιλογή όλων

function validateusername&#40;&#41; &#123;
		if &#40;username.val&#40;&#41;.length < 1&#41; &#123;
			return 2;	//einai keno
		&#125; else if &#40;username.val&#40;&#41;.length > 3&#41; &#123;
			$.post&#40;"check/check_username.php", &#123;
            username &#58; username.val&#40;&#41; &#125;, function &#40;result&#41; &#123;
			if &#40;result < 1&#41; &#123;
				return '';	//einai diathesimo
			&#125; else&#123;
				return 1;	//den einai diathesimo
            &#125;
         &#125;&#41;;
         
		&#125; else &#123;
			return 3;	//den einai 4is xaraktires kai pano
		&#125;
      return '';
	&#125; 
   


   $&#40;"#form"&#41;.submit&#40;function &#40;&#41; &#123;
		var check = '';
		var user = validateusername&#40;&#41;;
		
		if &#40;user == 1&#41;&#123;
                        check += "Το ψευδώνυμο δεν είναι διαθέσιμο!<br />";
		&#125;else if &#40;user == 2&#41;&#123;
			check += "Το ψευδώνυμο είναι κενο!<br />";
		&#125;else if &#40;user == 3&#41;&#123;
			check += "Το ψευδώνυμο πρέπει να αποτελείται τουλάχιστον από 4ις χαρακτήρες!<br />";
		&#125;else&#123;
			check +='';
		&#125;
      
		
		if &#40;check == ''&#41; &#123;
			return true;
		&#125; else &#123;
			$&#40;"#check"&#41;.html&#40;check&#41;;
			return false;
		&#125; 
	&#125;&#41;; 
Στο παραπάνω ποιο είναι το πρόβλημα.... γιατί κάνει κανονικά submit όταν υπάρχει το username..... ενώ όλα τα άλλα δουλεύουν μια χαρά!

Και το ποιο περίεργο από όλα είναι ότι το firebug μου βγάζει ότι η τιμές που επιστρέφει το check_username.php είναι σωστές.... (0 ή 1 αντίστοιχα...)

rafinos
Δημοσιεύσεις: 301
Εγγραφή: 15 Μάιος 2011 00:20
Επικοινωνία:

Δεν κάνει redirect........

Δημοσίευση από rafinos » 10 Δεκ 2011 12:21

Παιδιά αν κάποιος έχει χρόνο να κοιτάξει ένα από τα δύο αρχεία (και τα δύο κάνουν το ίδιο πράγμα με διαφορετικό τρόπο...) και να το κάνει να δουλέψει θα του είμαι ευγνώμων γιατί εγώ έχω τρελαθεί δεν καταλαβαίνω γιατί δεν δουλεύειε :(

Ειδικά το 1234.rar δεν καταλαβαίνω καθόλου γιατί δεν δουλέυει σωστα πφφφφφφ



4321rar

και

1234.rar

rafinos
Δημοσιεύσεις: 301
Εγγραφή: 15 Μάιος 2011 00:20
Επικοινωνία:

Δεν κάνει redirect........

Δημοσίευση από rafinos » 01 Ιαν 2012 22:26

Χρόνια πολλά και καλή χρονιά με υγεία!

Παιδιά θα με τρελάνει η Jquery...
Τώρα το πρόβλημα είναι ότι κάνει redirect ότι και να γίνει......

Aν υπάρχει σφάλμα εκτός από το username και το email τότε μου βγάζει σωστά τα μηνύματα και δεν κάνει redirect στην ολοκλήρωση της εγγραφής...
αν όμως τα μόνα σφάλματα είναι το username και το email (δηλαδή αν υπάρχουν στη βάση είτε το ένα είτε το άλλο είτε και τα δύο .. αυτό κάνει redirect με αποτέλεσμα να δημιουργηθεί εγγραφή στη βάση με ίδιο username ή email ή και τα δύο...)



***αν για παράδειγμα δεν συμφωνεί η επαλήθευση του κωδικού και το username υπάρχει θα εμφανιστεί σωστά το μήνυμα:

Το ψευδώνυμο δεν είναι διαθέσιμο!
Η επαλήθευση του κωδικού δεν είναι σωστή!
αλλά αν βάλω σωστά την επαλήθευση του κωδικού τότε γίνεται redirect σαν να μην τρέχει τίποτα και γίνεται η εγγραφή με username που ήδη υπάρχει....

πιθανότατα σε όλο αυτό παίζει ρόλο το .post που τρέχει στις validateusername και validatemail

σας παρακαλώ αν μπορεί κάποιος να το δει λίγο γιατί διαφορετικά θα πηδηχτώ απ' το παράθυρο!

κώδικας:

Κώδικας: Επιλογή όλων

$&#40;document&#41;.ready&#40;function&#40;&#41;&#123;
   $&#40;"#table_check"&#41;.hide&#40;&#41;;
   
   var fieldset = $&#40;"#fieldset"&#41;.width&#40;&#41;;
   var x = fieldset - 20;
   $&#40;"#check"&#41;.css&#40;"width", x&#41;;
   
   var username = $&#40;'#username'&#41;;
   var password = $&#40;'#password'&#41;;
   var password2 = $&#40;'#password2'&#41;;
   var email = $&#40;'#email'&#41;;
   var email2 = $&#40;'#email2'&#41;;
   var name = $&#40;"#name"&#41;;
   var surname = $&#40;"#surname"&#41;;
   var year = $&#40;"#year"&#41;;
   var month = $&#40;"#month"&#41;;
   var day = $&#40;"#day"&#41;;
   var fathersname = $&#40;'#fathersname'&#41;;
   var placeofdate = $&#40;'#placeofdate'&#41;;
   var children = $&#40;'#children'&#41;;
   var url = $&#40;'#url'&#41;;
   var sex = $&#40;"#sex"&#41;;

   function validateusername&#40;&#41; &#123;
      if &#40;username.val&#40;&#41;.length < 1&#41; &#123;
         $&#40;"#ckusername"&#41;.html&#40;"Το ψευδώνυμο είναι κενό!<br />"&#41;;
         return 1;
      &#125; else if &#40;username.val&#40;&#41;.length > 3&#41; &#123;
         $.post&#40;"check/check_username.php", &#123;
            username &#58; username.val&#40;&#41;
         &#125;, function &#40;result&#41; &#123;
            if &#40;result < 1&#41; &#123;
               $&#40;"#ckusername"&#41;.html&#40;""&#41;;
               return '';
            &#125; else &#123;
               $&#40;"#ckusername"&#41;.html&#40;"Το ψευδώνυμο δεν είναι διαθέσιμο!<br />"&#41;;
               return 1;
            &#125;
         &#125;&#41;;
      &#125; else &#123;
         $&#40;"#ckusername"&#41;.html&#40;"Το ψευδώνυμο πρέπει να αποτελείται τουλάχιστον από 4 χαρακτήρες!<br />"&#41;;
         return 1;
      &#125;
      return '';
   &#125;
   
   function validatemail&#40;&#41; &#123;
      if &#40;email.val&#40;&#41;.length < 1&#41; &#123;
         $&#40;"#ckemail"&#41;.html&#40;"Το email είναι κενό!<br />"&#41;;
         return 1;
      &#125; else if&#40;email.val&#40;&#41;.match&#40;/^&#40;&#91;\w-\.&#93;+&#41;@&#40;&#40;\&#91;&#91;0-9&#93;&#123;1,3&#125;\.&#91;0-9&#93;&#123;1,3&#125;\.&#91;0-9&#93;&#123;1,3&#125;\.&#41;|&#40;&#40;&#91;\w-&#93;+\.&#41;+&#41;&#41;&#40;&#91;a-zA-Z&#93;&#123;2,4&#125;|&#91;0-9&#93;&#123;1,3&#125;&#41;&#40;\&#93;?&#41;$/&#41;&#41; &#123;
         $.post&#40;"check/check_email.php", &#123;
            email &#58; email.val&#40;&#41;
         &#125;, function &#40;emailresult&#41; &#123;
            if &#40;emailresult < 1&#41; &#123;
               $&#40;"#ckemail"&#41;.html&#40;""&#41;;
               return '';
            &#125; else if&#40;emailresult == 1&#41; &#123;
               $&#40;"#ckemail"&#41;.html&#40;"Το email δεν είναι διαθέσιμο!<br />"&#41;;
               return 1;
            &#125;
         &#125;&#41;;
      &#125;else &#123;   
         $&#40;"#ckemail"&#41;.html&#40;"H μορφή του email δεν είναι έγκυρη!<br />"&#41;;
         return 1;
      &#125;
      return '';
   &#125;
   
   function validatemail2&#40;&#41; &#123;
      if &#40;email2.val&#40;&#41;.length < 1&#41; &#123;
         $&#40;"#ckemail2"&#41;.html&#40;"Η επαλήθευση του email είναι κενή<br />"&#41;;
         return 1;
      &#125; else if &#40;email2.val&#40;&#41; != email.val&#40;&#41;&#41; &#123;
         $&#40;"#ckemail2"&#41;.html&#40;"Η επαλήθευση του email δεν είναι σωστή!<br />"&#41;;
         return 1;
      &#125; else &#123;
         $&#40;"#ckemail2"&#41;.html&#40;""&#41;;
         return '';
      &#125;
   &#125;
   
   
   function validatepassword&#40;&#41;&#123;
      if &#40;password.val&#40;&#41;.length<1&#41;&#123;
         $&#40;"#ckpassword"&#41;.html&#40;"Ο κωδικός είναι κενός!<br />"&#41;;
         return 1;
      &#125;else if &#40;password.val&#40;&#41;.length<5&#41;&#123;
         $&#40;"#ckpassword"&#41;.html&#40;"Ο κωδικός είναι μικρός!<br />"&#41;;
         return 1;
      &#125;else if&#40;password.val&#40;&#41;.length>=5&#41;&#123;
         if&#40;&#40;password.val&#40;&#41;.match&#40;/\d+/&#41;&#41; && &#40;password.val&#40;&#41;.match&#40;/&#91;a-z&#93;/&#41;&#41; || &#40;password.val&#40;&#41;.match&#40;/&#91;A-Z&#93;/&#41;&#41;&#41;&#123;      
            if&#40;password.val&#40;&#41; ==  username.val&#40;&#41;&#41;&#123;
               $&#40;"#ckpassword"&#41;.html&#40;"Ο κωδικός δεν πρέπει να είναι ίδιος με το ψευδώνυμο!<br />"&#41;;
               return 1;
            &#125;else&#123;
               $&#40;"#ckpassword"&#41;.html&#40;""&#41;;
               return '';
            &#125;
         &#125;else&#123;
            $&#40;"#ckpassword"&#41;.html&#40;"Ο κωδικός πρέπει να περιέχει τουλάχιστον ένα γράμμα και έναν αριθμό!<br />"&#41;;
            return 1;
         &#125;
      &#125;
   &#125;
   
   function validatepassword2&#40;&#41;&#123;
      if&#40;password2.val&#40;&#41;.length<1&#41;&#123;
         $&#40;"#ckpassword2"&#41;.html&#40;"Η επαλήθευση του κωδικού είναι κενή!<br />"&#41;;
         return 1;
      &#125;else if&#40;password2.val&#40;&#41; != password.val&#40;&#41;&#41;&#123;
         $&#40;"#ckpassword2"&#41;.html&#40;"Η επαλήθευση του κωδικού δεν είναι σωστή!<br />"&#41;;
      &#125;else if&#40;password2.val&#40;&#41; == password.val&#40;&#41;&#41;&#123;
         $&#40;"#ckpassword2"&#41;.html&#40;""&#41;;
         return '';
      &#125;
   &#125;
   
   function validatename&#40;&#41;&#123;
      if&#40;name.val&#40;&#41;.length<1&#41;&#123;
         $&#40;"#ckname"&#41;.html&#40;"Το όνομα είναι κενό!<br />"&#41;;
         return 1;
      &#125;else if&#40;name.val&#40;&#41;.length<5&#41;&#123;
         $&#40;"#ckname"&#41;.html&#40;"Το όνομα πρέπει να αποτελείται τουλάχιστον από 5 χαρακτήρες<br />"&#41;;
         return 1;
      &#125;else&#123;
         $&#40;"#ckname"&#41;.html&#40;""&#41;;
         return '';
      &#125;
   &#125;
   
   function validatesurname&#40;&#41;&#123;
      if&#40;surname.val&#40;&#41;.length<1&#41;&#123;
         $&#40;"#cksurname"&#41;.html&#40;"Το επώνυμο είναι κενό!<br />"&#41;;
         return 1;
      &#125;else if&#40;surname.val&#40;&#41;.length<5&#41;&#123;
         $&#40;"#cksurname"&#41;.html&#40;"Το επώνυμο πρέπει να αποτελείται τουλάχιστον από 5 χαρακτήρες<br />"&#41;;
         return 1;
      &#125;else&#123;
         $&#40;"#cksurname"&#41;.html&#40;""&#41;;
         return '';
      &#125;
   &#125;
   
   function validatedate&#40;&#41;&#123;
      if&#40;day.val&#40;&#41; == 0 || month.val&#40;&#41; == 0 || year.val&#40;&#41; == 0&#41;&#123;
         $&#40;"#ckdate"&#41;.html&#40;"Η ημερομηνία δεν είναι σωστή<br />"&#41;;
         return 1;
      &#125;else&#123;
         $&#40;"#ckdate"&#41;.html&#40;""&#41;;
         return '';   
      &#125;
   &#125;
   
   function validatefathersname&#40;&#41; &#123;
      if&#40;fathersname.val&#40;&#41;.length < 1&#41;&#123;   
         $&#40;"#ckfathersname"&#41;.html&#40;""&#41;;
         return '';
      &#125;else if &#40;fathersname.val&#40;&#41;.length > 0 &#41; &#123;
         if&#40;fathersname.val&#40;&#41;.length < 5&#41;&#123;
            $&#40;"#ckfathersname"&#41;.html&#40;"Το πατρώνυμο πρέπει να αποτελείται τουλάχιστον από 5 χαρακτήρες!<br />"&#41;;
            return 1;
         &#125; else &#123;
            $&#40;"#ckfathersname"&#41;.html&#40;""&#41;;
            return '';
         &#125;
      &#125;
   &#125;
   
   function validateplaceofdate&#40;&#41;&#123;
      if&#40;placeofdate.val&#40;&#41;.length < 1&#41;&#123;   
         $&#40;"#ckplaceofdate"&#41;.html&#40;""&#41;;
         return '';
      &#125;else if&#40;placeofdate.val&#40;&#41;.length>0&#41;&#123;
         if&#40;placeofdate.val&#40;&#41;.length < 3&#41;&#123;
            $&#40;"#ckplaceofdate"&#41;.html&#40;"Ο τόπος γέννησης πρέπει να αποτελείται τουλάχιστον από 3 χαρακτήρες!<br />"&#41;;
            return 1;
         &#125;else&#123;
            $&#40;"#ckplaceofdate"&#41;.html&#40;""&#41;;
            return '';
         &#125;
      &#125;
   &#125;
   
   function validateurl&#40;&#41;&#123;
      if&#40;url.val&#40;&#41;.length < 1&#41;&#123;   
         $&#40;"#ckurl"&#41;.html&#40;""&#41;;
         return '';
      &#125;else if&#40;url.val&#40;&#41;.length > 0&#41;&#123;
         if&#40;url.val&#40;&#41;.match&#40;"^&#40;http&#58;\/\/|https&#58;\/\/|http&#58;\/\/www.|https&#58;\/\/www.|ftp&#58;\/\/www.|www.&#41;&#123;1&#125;&#40;&#91;0-9A-Za-z&#93;+\.&#41;"&#41;&#41;&#123;
            $&#40;"#ckurl"&#41;.html&#40;""&#41;;
            return '';
         &#125;else&#123;
            $&#40;"#ckurl"&#41;.html&#40;"Ο τιμή του ιστότοπου δεν είναι έγκυρη!<br />"&#41;;
            return 1;
         &#125;
      &#125;
   &#125;
   
   function validatechildren&#40;&#41;&#123;
      if&#40;children.val&#40;&#41;.length < 1&#41;&#123;
         $&#40;"#ckchildren"&#41;.html&#40;""&#41;;
         return '';
      &#125; else if&#40;children.val&#40;&#41;.length >0&#41;&#123;
         if&#40;children.val&#40;&#41;.match&#40;"^&#91;0-9\&#93;+$"&#41;&#41;&#123;
            $&#40;"#ckchildren"&#41;.html&#40;""&#41;;
            return '';
         &#125;else&#123;
            $&#40;"#ckchildren"&#41;.html&#40;"Το πεδίο 'Παιδιά' πρέπει να αποτελείται μόνο από αριθμούς!</br />"&#41;;
            return 1;
         &#125;
      &#125;
   &#125;
   
   function validatesex&#40;&#41;&#123;
      if&#40;sex.val&#40;&#41; == 0&#41;&#123;
         $&#40;"#cksex"&#41;.html&#40;"Δεν έχει επιλεχτεί φύλο!<br />"&#41;;
         return 1;
      &#125;else&#123;
         $&#40;"#cksex"&#41;.html&#40;""&#41;;
         return '';   
      &#125;
   
   &#125;

   $&#40;"#form"&#41;.submit&#40;function &#40;&#41; &#123;
      var check = validateusername&#40;&#41;;
      check += validatemail&#40;&#41;;
      check += validatemail2&#40;&#41;;
      check += validatepassword&#40;&#41;;
      check += validatepassword2&#40;&#41;;
      check += validatename&#40;&#41;;
      check += validatesurname&#40;&#41;;
      check += validatefathersname&#40;&#41;;
      check += validatedate&#40;&#41;;
      check += validateplaceofdate&#40;&#41;;
      check += validatesex&#40;&#41;;
      check += validateurl&#40;&#41;;
      check += validatechildren&#40;&#41;;
      
      if &#40;check == ''&#41; &#123;
         $&#40;"#table_check"&#41;.hide&#40;&#41;;
         return true;
      &#125; else &#123;
         $&#40;"#table_check"&#41;.show&#40;&#41;;
         return false;
      &#125;
   &#125;&#41;;
   
   $&#40;"#reset"&#41;.click&#40;function&#40;&#41;&#123;
      $&#40;'#username'&#41;.val&#40;''&#41;;
      $&#40;'#password'&#41;.val&#40;''&#41;;
      $&#40;'#password2'&#41;.val&#40;''&#41;;
      $&#40;'#email'&#41;.val&#40;''&#41;;
      $&#40;'#email2'&#41;.val&#40;''&#41;;
      $&#40;"#name"&#41;.val&#40;''&#41;;
      $&#40;"#surname"&#41;.val&#40;''&#41;;
      $&#40;"#year"&#41;.val&#40;0&#41;;
      $&#40;"#month"&#41;.val&#40;0&#41;;
      $&#40;"#day"&#41;.val&#40;0&#41;;
      $&#40;"#fathersname"&#41;.val&#40;''&#41;;
      $&#40;"#placeofdate"&#41;.val&#40;''&#41;;
      $&#40;"#sex"&#41;.val&#40;0&#41;;
      $&#40;"#url"&#41;.val&#40;''&#41;;
      $&#40;"#children"&#41;.val&#40;''&#41;;
      $&#40;"#kids"&#41;.hide&#40;&#41;;
      $&#40;"input&#91;name=married&#93;&#58;radio"&#41;.prop&#40;'checked', false&#41;;
      $&#40;"#ckusername"&#41;.text&#40;''&#41;;
      $&#40;"#ckpassword"&#41;.text&#40;''&#41;;
      $&#40;"#ckpassword2"&#41;.text&#40;''&#41;;
      $&#40;"#ckemail"&#41;.text&#40;''&#41;;
      $&#40;"#ckemail2"&#41;.text&#40;''&#41;;
      $&#40;"#ckname"&#41;.text&#40;''&#41;;
      $&#40;"#cksurname"&#41;.text&#40;''&#41;;
      $&#40;"#ckdate"&#41;.text&#40;''&#41;;
      $&#40;"#ckfathersname"&#41;.text&#40;''&#41;;
      $&#40;"#ckplaceofdate"&#41;.text&#40;''&#41;;
      $&#40;"#cksex"&#41;.text&#40;''&#41;;
      $&#40;"#ckurl"&#41;.text&#40;''&#41;;
      $&#40;"#ckchildren"&#41;.text&#40;''&#41;;
      $&#40;"#table_check"&#41;.hide&#40;&#41;;
      $&#40;'html, body'&#41;.animate&#40;&#123;scrollTop&#58; '0px'&#125;, 300&#41;;
      return false;
   &#125;&#41;;
   
&#125;&#41;;

Απάντηση

Επιστροφή στο “JavaScript και Frameworks”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 1 επισκέπτης