사용자가 사용하려는 전자 메일이 다른 사용자에 의해 이미 사용되지 않은 경우 알 필요가있는 양식 필드가 사이트에 있습니다.동적으로 양식 데이터 유효성 검사
JavaScript와 PHP를 사용하고 있지만 작동하도록 만들 수 있습니다. 데이터에 대한 데이터베이스에 보이는
function validateEmail(){
//testing regular expression
var a = $("#email").val();
var filter = /^[A-Z0-9._%+-][email protected][A-Z0-9.-]+\.[A-Z]{2,6}$/;
//if it's valid email
if(filter.test(a)){
if($("#email").val() != ""){
$.getScript("http://localhost/sisdelivery/validaEmail.php?&email="+$("#email").val(), function(){
if(resultadoEmail["email"] != ""){
email.addClass("error");
emailInfo.text("Email ja cadastrado!");
emailInfo.addClass("error");
return false;
}
else{
email.removeClass("error");
emailInfo.text("Email OK");
emailInfo.removeClass("error");
return true;
}
}
}
}
//if it's NOT valid
else{
var valEmail = $("#email").val();
if(valEmail == ""){
email.addClass("error");
emailInfo.text("Favor digitar um email!");
emailInfo.addClass("error");
return false;
}
else{
email.addClass("error");
emailInfo.text("O email digitado e invalido");
emailInfo.addClass("error");
return false;
}
}
}
PHP 코드는 :
<?php
include "conecta.php";
$email = $_GET['email'];
$consulta = "SELECT * FROM usuarios WHERE email = '$email';";
$result = mysql_query($consulta);
$num = mysql_num_rows($result);
if($num == 0)
echo "var resultadoEmail = { 'email' : '' }";
else{
while($row = mysql_fetch_object($result)){
$email = $row -> email;
}
echo "var resultadoEmail = { 'email' : '$email' }";
}
?>
나는 오류 Uncaught SyntaxError: Unexpected token }
받고 있어요하지만 문제는 여기서 찾을 수 없습니다.
나는 주석 앞에 하나의 여분의 "}"이 있다고 믿는다 // 유효하지 않은 경우 ... 거기에 하나의 중괄호를 삭제하고 다시 시도하십시오 ... – henser
PHP 코드는 SQL 주입에 취약하며 단순히 사용자를 사용하지 않습니다. 귀하의 SQL 쿼리에 입력. [mysql_real_escape_string] (http://www.php.net/manual/en/function.mysql-real-escape-string.php)의 PHP 문서를 참조하십시오. 코드를 다음과 같이 변경하십시오 :'$ consulta = "SELECT * FROM usuarios where email = '".mysql_real_escape_string ($ email). ";;;;; 또는 PHP의 [Mysqli] (http : //www.php. net/manual/en/book.mysqli.php) 또는 PDO를 사용하는 경우 현재 MySQL 구현은 더 이상 사용되지 않습니다. – chrki