Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 12.01.2014, 18:20
Новичок на форуме
Отправить личное сообщение для lodem009 Посмотреть профиль Найти все сообщения от lodem009
 
Регистрация: 25.12.2013
Сообщений: 8

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>
Ответить с цитированием
  #2 (permalink)  
Старый 12.01.2014, 22:26
Аватар для Zuenf
Кандидат Javascript-наук
Отправить личное сообщение для Zuenf Посмотреть профиль Найти все сообщения от Zuenf
 
Регистрация: 27.01.2012
Сообщений: 134

Это у вас PHP-скрипт засунутый в теги <script> зачем-то
Скажите, что конкретно вы пытаетесь сделать?
Ответить с цитированием
  #3 (permalink)  
Старый 15.01.2014, 20:13
Новичок на форуме
Отправить личное сообщение для lodem009 Посмотреть профиль Найти все сообщения от lodem009
 
Регистрация: 25.12.2013
Сообщений: 8

Я пытаюсь сделать обработчик форм на ajax
Ответить с цитированием
  #4 (permalink)  
Старый 15.01.2014, 23:13
Аватар для BETEPAH
Профессор
Отправить личное сообщение для BETEPAH Посмотреть профиль Найти все сообщения от BETEPAH
 
Регистрация: 23.06.2011
Сообщений: 1,165

Сообщение от lodem009
с js обработчиком что не верно не могу понять не хочет выводить ошибки
А где js-обработчик то? Покажите тоже
Ответить с цитированием
  #5 (permalink)  
Старый 16.01.2014, 11:20
Новичок на форуме
Отправить личное сообщение для lodem009 Посмотреть профиль Найти все сообщения от lodem009
 
Регистрация: 25.12.2013
Сообщений: 8

Вот сам 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;
});

});
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Операционная Система на JS Icat Общие вопросы Javascript 3 17.04.2018 22:54
Вывыод контента через JS inet_boy Элементы интерфейса 0 18.11.2013 03:00
Не получается вставить код js в HTML garmoni Элементы интерфейса 3 05.09.2013 05:56
Вставка кода js с помощью js Alice Общие вопросы Javascript 1 12.06.2013 19:05
Дебаг js, или как найти обработчик события для тега jimm88 Events/DOM/Window 1 18.04.2012 15:11