Js скрип обработчик
Здравствуйте уважемые. помогите мне пожалуйста
с js обработчиком что не верно не могу понять не хочет выводить ошибки, или если можно дайте свой обработчик. Очень нужен.
<script type="text/javascript">
if($_SESSION['id'] && !isset($_COOKIE['tzRemember']) && !$_SESSION['rememberMe'])
{
// Если вы вошли в систему, но куки tzRemember (рестарт браузера) отсутствует
// и вы не отметили чекбокс 'Запомнить меня':
$_SESSION = array();
session_destroy();
// Удалаяем сессию
}
if(isset($_GET['logoff']))
{
$_SESSION = array();
session_destroy();
header("Location: demo.php");
exit;
}
if($_POST['submit']=='Войти')
{
// Проверяем, что представлена форма Войти
$err = array();
// Запоминаем ошибки
if(!$_POST['username'] || !$_POST['password'])
$err[] = 'Все поля должны быть заполнены!';
if(!count($err))
{
$_POST['username'] = mysql_real_escape_string($_POST['username']);
$_POST['password'] = mysql_real_escape_string($_POST['password']);
$_POST['rememberMe'] = (int)$_POST['rememberMe'];
// Получаем все ввденые данные
$row = mysql_fetch_assoc(mysql_query("SELECT id,usr FROM tz_members WHERE usr='{$_POST['username']}' AND pass='".md5($_POST['password'])."'"));
if($row['usr'])
{
// Если все в порядке - входим в систему
$_SESSION['usr']=$row['usr'];
$_SESSION['id'] = $row['id'];
$_SESSION['rememberMe'] = $_POST['rememberMe'];
// Сохраняем некоторые данные сессии
setcookie('tzRemember',$_POST['rememberMe']);
}
else $err[]='Ошибочный пароль или/и имя пользователя!';
}
if($err)
$_SESSION['msg']['login-err'] = implode('<br />',$err);
// Сохраняем сообщение об ошибке сессии
header("Location: demo.php");
exit;
}
else if($_POST['submit']=='Зарегистрироваться')
{
// Проверяем, что представлена форма Зарегистрироваться
$err = array();
if(strlen($_POST['username'])<4 || strlen($_POST['username'])>32)
{
$err[]='Имя пользователя должно содержать от 3 до 32 символов!';
}
if(preg_match('/[^a-z0-9\-\_\.]+/i',$_POST['username']))
{
$err[]='Ваше имя пользователя сожержит недопустимые символы!';
}
if(!checkEmail($_POST['email']))
{
$err[]='Email не правильный!';
}
if(!count($err))
{
// Если нет ошибок
$pass = substr(md5($_SERVER['REMOTE_ADDR'].microtime().rand(1,100000)),0,6);
// Генерируем случайный пароль
$_POST['email'] = mysql_real_escape_string($_POST['email']);
$_POST['username'] = mysql_real_escape_string($_POST['username']);
// Получаем введеные данные
mysql_query(" INSERT INTO tz_members(usr,pass,email,regIP,dt)
VALUES(
'".$_POST['username']."',
'".md5($pass)."',
'".$_POST['email']."',
'".$_SERVER['REMOTE_ADDR']."',
NOW()
)");
if(mysql_affected_rows($link)==1)
{
send_mail( 'blukino@ruseller.com',
$_POST['email'],
'Регистрация в системе демонстрации - Ваш новый пароль',
'Ваш пароль: '.$pass);
$_SESSION['msg']['reg-success']='Мы отправили вам письмо с вашим новым паролем!';
}
else $err[]='Данное имя пользователя уже занято!';
}
if(count($err))
{
$_SESSION['msg']['reg-err'] = implode('<br />',$err);
}
header("Location: demo.php");
exit;
}
$script = '';
if($_SESSION['msg'])
{
// Скрипт ниже показывает выскальзывающую панель
$script = '
</script>
|
Это у вас PHP-скрипт засунутый в теги <script> зачем-то :blink:
Скажите, что конкретно вы пытаетесь сделать? |
Я пытаюсь сделать обработчик форм на ajax
|
Цитата:
|
Вот сам js обработчик но мне надо сделать
с выше php скриптом ajax обработку и отправку форм Ломал голову ломал и не смог я нечего предпринять
function inArray(needle, haystack) {
var length = haystack.length;
for(var i = 0; i < length; i++) {
if(typeof haystack[i] == 'object') {
if(arrayCompare(haystack[i], needle)) return true;
} else {
if(haystack[i] == needle) return true;
}
}
return false;
}
window.isset = function (v) {
if (typeof(v) == 'object' && v == 'undefined') {
return false;
} else if (arguments.length === 0) {
return false;
} else {
var buff = arguments[0];
for (var i = 0; i < arguments.length; i++){
if (typeof(buff) === 'undefined' || buff === null) return false;
buff = buff[arguments[i+1]];
}
}
return true;
}
function myconf() {
var cf = $.Deferred();
$.ajax({
type: 'POST',
url: 'reg/feedback/',
dataType: 'json',
data: 'act=cfg',
success: function(answer) {
cf.resolve(answer.configs);
}
});
return cf;
}
var mcf = myconf();
mcf.done(function(conf) {
$(document).ready(function() {
(function() {
var fb = $('.feedback');
if(fb.length > 0) {
fb.each(function(){
var form = $(this).closest('form'), name = form.attr('name');
//console.log(form);
if(isset(conf[name]) && isset(conf[name].cfg.antispamjs)) {
$(form).prepend('<input type="text" name="'+ conf[name].cfg.antispamjs +'" value="tesby" style="display:none;">');
}
});
}
})();
});
/**
* Отправка форм.
*
*/
function feedback(vars) {
var bt = $(vars.form).find('.feedback');
var btc = bt.clone();
var bvc = bt.val();
var cfg = conf[vars.act].cfg;
$.ajax({
type: 'POST',
url: 'reg/feedback/',
cache: false,
dataType: 'json',
data: 'act=' + vars.act + '&' + vars.data,
beforeSend: function() {
//$(bt).val('');
$(bt).prop("disabled", true);
$(bt).addClass('loading');
},
success: function(answer) {
//console.log(cfg);
if(isset(cfg.notify) && !/none/i.test(cfg.notify)) {
if(/textbox/i.test(cfg.notify)) {
if(isset(answer.errors)) {
$.each(answer.errors, function(k,val) {
$.jGrowl(val, {theme: 'error', header: 'Ошибка!', life: 3000 });
});
} if(isset(answer.infos)) {
$.each(answer.infos, function(k,val) {
$.jGrowl(val, {theme: 'infos', header: 'Внимание!', life: 3000 });
});
}
} if(/color/i.test(cfg.notify)) {
$(vars.form).find('input[type=text]:visible, textarea:visible, select:visible').css({'border': '1px solid #D7D5CF'}, 300);
if(isset(answer.errors)) {
$.each(answer.errors, function(k,val) {
var reg = /[a-z]/i;
if(reg.test(k)) {
var e = $(vars.form).find('[name='+ k +']');
if(e.length == 1) {
$(e).css({'border': '1px solid #FF532E'}, 100);
}
}
});
} if(isset(answer.infos)) {
var li='', $inf = $('<ul>', {id:'feedback-infolist'});
$.each(answer.infos, function(k,val) {
li += '<li>'+ val +'</li>';
});
$inf.html(li);
$.arcticmodal('close');
if(/modal/i.test(cfg.notify)) {
var m = $('<div class="box-modal" id="feedback-modal-box" />');
m.html($inf);
m.prepend('<div class="modal-close arcticmodal-close">X</div>');
$.arcticmodal({content: m});
}
//bt.replaceWith($inf);
/* setInterval(function(){
//$('#feedback-inf-box').replaceWith(btc);
$('#feedback-modal-box').arcticmodal('close');
}, 4000);*/
}
}
}
$(bt).prop("disabled", false);
$(bt).removeClass('loading');
//$(bt).val(bvc);
if(isset(answer.ok) && answer.ok == 1) {
$(vars.form)[0].reset();
}
}
});
}
$(document).on('mouseenter mouseover', '.feedback', function(){
var form = $(this).closest('form'), name = form.attr('name');
if(isset(conf[name]) && isset(conf[name].cfg.antispamjs)) {
$('input[name='+ conf[name].cfg.antispamjs +']').val('');
}
});
/**
* Обработчик кнопки форм.
* Кнопка должна быть внутри тегов <form> c классом .feedback
* будет отправлено любое кол-во полей, кроме файлов
*
*/
$(document).on('click', '.feedback', function(){
var form = $(this).closest('form'), name = form.attr('name'), obj = {};
obj.form = form;
obj.act = name;
obj.data = $(form).serialize();
feedback(obj);
return false;
});
});
|
| Часовой пояс GMT +3, время: 10:39. |