Доброго времени суток! Прохожу видео уроки по Жур Артур. Создаю форму регистрации нового пользователя, подключаю скрипт валидации, который при правильном значении обработчика выводит сообщения об успешной регистрации либо об ошибках.
Так вот, обработчик после успешной проверки добавляет данные в БД и отправляет значение true, но оно выводиться надписью "true" на экран вместо того что бы отправлять скрипту валидации.
Код скрипта
$(document).ready(function(){
$('#form_reg').validate({
rules:{
"reg_login":{
required: true,
minlength: 5,
maxlength: 15,
remote: {
type: "post",
url: "/reg/login.php"
}
},
"reg_pass":{
required: true,
minlength: 7,
maxlength: 15
},
"reg_surname":{
required: true,
minlength: 3,
maxlength: 15
},
"reg_name":{
required: true,
minlength: 3,
maxlength: 15
},
"reg_patronymic":{
required: true,
minlength: 3,
maxlength: 15
},
"reg_email":{
required: true,
email: true
},
"reg_phone":{
required: true,
digits: true
},
"reg_captcha":{
required: true,
remote: {
type: "post",
url: "/reg/result.php"
}
}
},
messages:{
"reg_login":{
required: "Укажите Логин!",
minlength: "От 5 до 15 символов!",
maxlength: "От 5 до 15 символов!",
remote: "Логин занят!"
},
"reg_pass":{
required: "Укажите Пароль!",
minlength: "От 7 до 15 символов!",
maxlength: "От 7 до 15 символов!"
},
"reg_surname":{
required :"Укажите Фамилию!",
minlength: "От 3 до 15 символов!",
maxlength: "От 3 до 15 символов!"
},
"reg_name":{
required :"Укажите Имя!",
minlength: "От 3 до 15 символов!",
maxlength: "От 3 до 15 символов!"
},
"reg_patronymic":{
required : "Укажите Отчество!",
minlength: "От 3 до 15 символов!",
maxlength: "От 3 до 15 символов!"
},
"reg_email":{
required: "Укажите E-mail!",
email: "Не корректный E-mail!"
},
"reg_phone":{
required: "Укажите номер телефона!",
digits: "Не корректный номер!"
},
"reg_captcha":{
required: "Введите код с картинки!",
remote: "Не верный код проверки!"
}
},
submitHandler: function(form) {
$(form).ajaxSubmit({
success: function(data) {
if (data == 'true')
{
$("#block-form-registration").fadeOut(300,function() {
$("#reg_message").addClass("reg_message_good").fadeIn(400).html("Вы успешно зарегистрированы!");
$("#form_submit").hide();
});
}
else
{
$("#reg_message").addClass("reg_message_error").fadeIn(400).html(date);
}
}
});
}
});
$('#reloadcaptcha').click(function() {
$('#block-captcha > img').attr("src","/reg/reg_captcha.php?r="+ Math.random());
});
});
код обработчика
<?php
session_start();
include("/db_connect.php");
include("/functions.php");
$error = array();
$login = clear($login);
$pass = clear($pass);
$surname = clear($surname);
$name = clear($name);
$patronymic = clear($patronymic);
$email = clear($patronymic);
$phone = clear($phone);
$login = iconv("UTF-8", "cp1251",$_POST['reg_login']);
$pass = iconv("UTF-8", "cp1251", $_POST['reg_pass']);
$surname = iconv("UTF-8", "cp1251", $_POST['reg_surname']);
$name = iconv("UTF-8", "cp1251", $_POST['reg_name']);
$patronymic = iconv("UTF-8", "cp1251", $_POST['reg_patronymic']);
$email = iconv("UTF-8", "cp1251", $_POST['reg_email']);
$phone = iconv("UTF-8", "cp1251", $_POST['reg_phone']);
if (strlen($login) < 5 or strlen($login) > 15)
{
$error[] = "Логин должен быть от 5 до 15 символов!";
}
else
{
$result = mysql_query("SELECT login FROM reg_user WHERE login = '$login'",$link);
If (mysql_num_rows($result) > 0)
{
$error[] = "Логин занят!";
}
}
if (strlen($pass) < 7 or strlen($pass) > 15) $error[] = "Укажите пароль от 7 до 15 символов!";
if (strlen($surname) < 3 or strlen($surname) > 15) $error[] = "Укажите Фамилию от 3 до 15 символов!";
if (strlen($name) < 3 or strlen($name) > 15) $error[] = "Укажите Имя от 3 до 15 символов!";
if (strlen($patronymic) < 3 or strlen($patronymic) > 15) $error[] = "Укажите Отчество от 3 до 15 символов!";
if (!preg_match("/^(?:[a-z0-9]+(?:[-_.]?[a-z0-9]+)?@[a-z0-9_.-]+(?:\.?[a-z0-9]+)?\.[a-z]{2,5})$/i",trim($email))) $error[] = "Укажите корректный email";
if (!$phone) $error[] = "Укажите номер телефона!";
if($_SESSION['img_captcha'] != strtolower($_POST['reg_captcha'])) $error[] = "Неверный код картинки!";
unset($_SESSION['img_captcha']);
if (count($error))
{
echo implode('<br />',$error);
}
else
{
$pass = md5($pass);
$pass = strrev($pass);
$pass = "9nm2rv8q".$pass."2yo6z";
$ip = $_SERVER['REMOTE_ADDR'];
mysql_query(" INSERT INTO reg_user(login,pass,surname,name,patronymic,email,phone,datetime,ip)
VALUES(
'".$login."',
'".$pass."',
'".$surname."',
'".$name."',
'".$patronymic."',
'".$email."',
'".$phone."',
NOW(),
'".$ip."'
)",$link);
echo 'true'; // ---- вот это значение которое надо вернуть скрипту
}
?>