Проверка за повече полета

DobriMcConnor

Registered
Здравейте,

От скоро започнах да уча javascript и не са ми много наясно нещата. Та, използвам този js код
Код:
<script>
			$(document).ready(function() {
				$("#userResult").hide();
				$("#username").blur(function() {
					$.post("check.php" , {
						username : $("#username").val(),
						pass2 : $("#pass2").val()
					}, function(response) {
						$("#userResult").fadeOut("slow");
						$("#userResult").html(response);
						$("#userResult").fadeIn("slow");
					});
				});	
			});
</script>
И този PHP
Код:
<?php
	include "includes/config.php";
	
	$user = $_POST['username'];
	$query = mysql_query("SELECT username FROM users WHERE username = '$user'");
	if(strlen($user) < 4) {
		print "<span style='color: red'>Името е прекалено кратко. Минимум 4 символа.</span>";
	}
	else {
	
		$broi = mysql_num_rows($query);
		if($broi < 1) {
			print "<span style='color: green'>Името е свободно</span>";
		}
		else {
			print "<span style='color: red'>Името е заето</span>";
		}
	}
?>

За динамична проверка дали потребителското име е свободно/заето. И искам да направя още една проверка за паролата. Как може да стане това?

А, и HTML-a
Код:
<input type="text" name="username" id="username"> <span id="userResult"></span>
<input type="text" name="pass2" id="pass2" > <span id="userResult"></span>
 
Не мисля, че е добра идея всеки да може да провери дали дадена парола съществува.
Всеки потребител трябва да може да си сложи каквато парола си поиска, без да знае, че и друг я използва.

Ако целта ти е да ограничиш ботовете, има и други начини :)
 
anonimen каза:
Не мисля, че е добра идея всеки да може да провери дали дадена парола съществува.
Всеки потребител трябва да може да си сложи каквато парола си поиска, без да знае, че и друг я използва.

Ако целта ти е да ограничиш ботовете, има и други начини :)

Друга ми е целта. Искам да направя друга проверка за паролата.
 
DobriMcConnor каза:
Друга ми е целта. Искам да направя друга проверка за паролата.
Ако ще има сравнение с БД-то, трябва да ползваш ajax. Ако просто искаш някаква проверка, която може да се извърши локално (без php), не ползвай ajax, просто не е необходимо, а и ще е по-бързо.
Каква проверка искаш по-точно?
 
anonimen каза:
DobriMcConnor каза:
Друга ми е целта. Искам да направя друга проверка за паролата.
Ако ще има сравнение с БД-то, трябва да ползваш ajax. Ако просто искаш някаква проверка, която може да се извърши локално (без php), не ползвай ajax, просто не е необходимо, а и ще е по-бързо.
Каква проверка искаш по-точно?

Проверка дали двете пароли съвпада (1во поле - "Парола", 2ро поле "Потвърди парола"). И още една за валиден емайл.
 
Добави това вътре в
Код:
 $(document). ready(function(){ тук някъде });
:
[js]$("#pass2").blur (function (){
if($(this).val() == $("#pass").val()){
alert("OK!");
}
else {
alert("не съвпадат!");
}
});[/js]

За имейл:

[js]$("#email").blur(function (){
if(IsEmail($(this).val())) {
alert("OK");
}
else {
alert ("не е валиден!");
}
});[/js]
+ добави си тази функция веднага след <script>:
Код:
function IsEmail(email) {
  var regex = /^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/;
  return regex.test(email);
}
http://stackoverflow.com/questions/2507030/email-validation-using-jquery
 
Благодаря! Само, че текста излиза като alert прозорец, може ли да се направи да излиза както другия за потребителското име, чрез fade.
 
DobriMcConnor каза:
Благодаря! Само, че текста излиза като alert прозорец, може ли да се направи да излиза както другия за потребителското име, чрез fade.
Разбира се! alert-а го сложих само за пример, можеш да го замениш така:

[js]$("#email").blur(function (){
if(IsEmail($(this).val())) {
$("#element_za_greshki_pri_emajla").hide().html("Ок").fadeIn(500);
}
else {
$("#element_za_greshki_pri_emajla").hide().html("Невалиден имейл").fadeIn(500);
}
});[/js]
 

Back
Горе