Я пытаюсь использовать AJAX, чтобы проверить, существует ли пользователь в моей базе данных. Для простоты пока я просто проверю имя и фамилию. Вот что я получил:
Файл .php с формой и обработкой ошибок JavaScript:
$.get('verify_unique.php',{firstname:frm.add_fd2.value, lastname:frm.add_fd3.value},function(data){
if (data.matches>0){
var num_rows='1';
}else{
var num_rows='0';
}
}, "json");
function check(frm) {
var szAlert = "Invalid\n";
var nIndex = 0;
if (num_rows > 0) {
nIndex++;
szAlert += "- " +"This name already exists "+num_rows +" times\n";
}
if (!RequiredField(frm.add_fd1.value)) {
nIndex++;
szAlert += "- " +"'Title' cannot be blank\n";
}
и т.д.
Файл verify_unique.php:
// DATABSE PARAMETERS
$link = @mysql_connect($host,$user,$passwd);
$database=mysql_select_db($db);
$firstname=$_GET['firstname'];
$lastname=$_GET['lastname'];
$result=mysql_query('SELECT * FROM organisations WHERE FirstName="'.$firstname.'" AND LastName="'.$lastname.'"', $link);
header('Content-Type: application/json');
echo '{matches:'.mysql_num_rows($result).'}';
?>
Когда я отправляю форму, она не только возвращает мое предупреждение AJAX, но и пропускает проверки javascript. К сожалению, это не выдает никаких ошибок.
Может кто-то видит, где я ошибся?
Спасибо
Marius
EDIT:
ТЕКУЩАЯ СИТУАЦИЯ:
$.get('verify_unique.php',{firstname:frm.add_fd2.value, lastname:frm.add_fd3.value},function(data){
if (data.matches>0){
var num_rows='1';
}else{
var num_rows='0';
}
}, "json");
Отладчик: frm не определен.
frm - это имя единственной формы на этой странице, которая может быть вызвана javascript для проверки работоспособности без проблем.
Ничего не изменилось в файле verify_unique.php