Как можно реализовать логин на сайте без uwnd.js?

Общие вопросы по HTML, CSS, JavaScript, JQuery, вопросы по HTML, вопросы без определенной темы

Как можно реализовать логин на сайте без uwnd.js?

» » Сообщение:

Чтобы зайти на сайт (LOGIN_FORM) нужен подключен скрипт uwnd.js?2. Если я этот системныи скрипт вырезаю, потом нажимаю на логин

Изображение

и у меня открывается xml-страничка.

Изображение

Нажимаю "назад" в браузере и вижу что логин получился! Мой вопрос: Как можно реализовать логин на сайт (без выскакивания xml-странички), НО и без подключения uwnd.js?2, так как он очень огромный фаил, почти пол мегабайта! Мне нужен только кусок скрипта в этом файле, который отвечает за логин на сайте...

Тоесть мне надо: если я нажимаю на логин -> страница обновляется -> и я вошел
$LOGOUT_LINK$ нарпимер супер работает как надо. Просто нажимаю на <a href="$LOGOUT_LINK$">...</a>, страница перегружается и я вышел.


Re: Как можно реализовать логин на сайте без uwnd.js?

Admin » » Сообщение:

Гость писал(а) › 05 сен 2017, 23:51:Как можно реализовать логин на сайт (без выскакивания xml-странички), НО и без подключения uwnd.js?2

Написать свой.
Отправлять форму через post запрос, проверять ответ, и если вошли перегружать страницу.

Гость писал(а) › 05 сен 2017, 23:51:Мне нужен только кусок скрипта в этом файле, который отвечает за логин на сайте..

Это очень большой кусок и выделить только его сложнее, чем написать новый.

Гость писал(а) › 05 сен 2017, 23:51:если я нажимаю на логин -> страница обновляется -> и я вошел

А если не правильный логин или пароль? Согласитесь, что надо что-то выводить..


Re: Как можно реализовать логин на сайте без uwnd.js?

Fufaev Alexander » » Сообщение:

Admin писал(а) › 08 сен 2017, 13:39:

Гость писал(а) › 05 сен 2017, 23:51:Как можно реализовать логин на сайт (без выскакивания xml-странички), НО и без подключения uwnd.js?2

Написать свой.
Отправлять форму через post запрос, проверять ответ, и если вошли перегружать страницу.

Гость писал(а) › 05 сен 2017, 23:51:Мне нужен только кусок скрипта в этом файле, который отвечает за логин на сайте..

Это очень большой кусок и выделить только его сложнее, чем написать новый.

Гость писал(а) › 05 сен 2017, 23:51:если я нажимаю на логин -> страница обновляется -> и я вошел

А если не правильный логин или пароль? Согласитесь, что надо что-то выводить..

Я вот что нашел в интернете:

script Код: Выделить всё Развернуть
function loginsub() {
    $(".login-progress").addClass("checking");
    usr = $("#usrnm").val();
    pswd = $("#pswd").val();
    $("#usrnm,#pswd").prop("disabled", true);
    $.ajax({
   type: "POST",
    url: "/index/sub",
    data: {user:usr, password:pswd, a:2, ajax:1, rnd:0},
    success: function(data) {
  var result = $(data).find("cmd[p=\"innerHTML\"]").text();
  $("#resultsappd").html(result).css("display","none");
  var errorc = $("#resultsappd div .myWinLoadSF").attr("title");
  var successc = $("#resultsappd div div").hasClass("myWinLoadSD");
  console.log(successc);
  if(successc == true) {
   $(".login-progress").removeClass("checking");
   $(".login-progress").addClass("success");
   location.reload();
  } else if(errorc == "Your IP address has been temporarily blocked" || "Wrong username or password") {
   $(".login-progress").removeClass("checking");
  } else {
   $(".login-progress").removeClass("checking");
  }
  $("#usrnm,#pswd").prop("disabled", false);
    },
    error: function(e) {
  $(".login-progress").removeClass("checking");
  console.log("Connection Issue");
    },
    dataType: "xml"
});
    return false;
}

но код почему-то не работает, нажимаю на вход, но ничего не слачается... можешь помочь плиз, если это не займет много времени)


Re: Как можно реализовать логин на сайте без uwnd.js?

Admin » » Сообщение:

Fufaev Alexander писал(а) › 08 сен 2017, 16:21:но код почему-то не работает, нажимаю на вход, но ничего не слачается..

Возможно, вы что-то неправильно сделали?
Надеюсь, понятно, то, что функция должна быть привязана в форме, а форма иметь поля с ID usrnm и pswd.
Типа:

Код: Выделить всё Развернуть
<form onsubmit="loginsub();return false;" method="post" action="/index/sub/">
<input type="text" maxlength="50" size="20" name="user" id="usrnm">
<input type="password" maxlength="15" size="20" name="password" id="pswd">
<input type="submit" value="Вход" name="sbm" onclick="loginsub();return false;">
</form>

Как вы его подключали?


Re: Как можно реализовать логин на сайте без uwnd.js?

Fufaev Alexander » » Сообщение:

Admin писал(а) › 08 сен 2017, 17:01:

Fufaev Alexander писал(а) › 08 сен 2017, 16:21:но код почему-то не работает, нажимаю на вход, но ничего не слачается..

Возможно, вы что-то неправильно сделали?
Надеюсь, понятно, то, что функция должна быть привязана в форме, а форма иметь поля с ID usrnm и pswd.
Как вы его подключали?

Шаблон в "Форма входа пользователей" выглядит вот так:

html Код: Выделить всё Развернуть
<div id=anmelden>
<input type="text" id=usrnm placeholder="Benutzername" name="user" value="" size="20" maxlength="50" required>
<input id=pswd placeholder="Passwort" type="password" name="password" size="20" maxlength="15" required>

<p class=go>
<input id=goLog name="sbm" type="submit" value="Welt betreten">

<a class=pwForgot href="$REMINDER_LINK$">Passwort vergessen?</a>
<!-- input id="hid555" type="checkbox" name="hidden" value="1" ist für unsichtbares Login-->
 </div>

<script>
function loginsub() {
    $(".login-progress").addClass("checking");
    usr = $("#usrnm").val();
    pswd = $("#pswd").val();
    $("#usrnm,#pswd").prop("disabled", true);
    $.ajax({
   type: "POST",
    url: "/index/sub",
    data: {user:usr, password:pswd, a:2, ajax:1, rnd:0},
    success: function(data) {
  var result = $(data).find("cmd[p=\"innerHTML\"]").text();
  $("#resultsappd").html(result).css("display","none");
  var errorc = $("#resultsappd div .myWinLoadSF").attr("title");
  var successc = $("#resultsappd div div").hasClass("myWinLoadSD");
  console.log(successc);
  if(successc == true) {
   $(".login-progress").removeClass("checking");
   $(".login-progress").addClass("success");
   location.reload();
  } else if(errorc == "Your IP address has been temporarily blocked" || "Wrong username or password") {
   $(".login-progress").removeClass("checking");
  } else {
   $(".login-progress").removeClass("checking");
  }
  $("#usrnm,#pswd").prop("disabled", false);
    },
    error: function(e) {
  $(".login-progress").removeClass("checking");
  console.log("Connection Issue");
    },
    dataType: "xml"
});
    return false;
}
</script>

xml выскакивает

Добавлено спустя 4 минуты 2 секунды:

Admin писал(а) › 08 сен 2017, 17:01:<form onsubmit="loginsub();return false;" method="post" action="/index/sub/">
<input type="text" maxlength="50" size="20" name="user" id="usrnm">
<input type="password" maxlength="15" size="20" name="password" id="pswd">
<input type="submit" value="Вход" name="sbm" onclick="loginsub();return false;">
</form>

Попробовал с этой формой, теперь пишет: "YOU DON'T HAVE PERMISSION TO ACCESS THIS PAGE
Back to the home page"

Добавлено спустя 16 минут 39 секунд:
Скрипт тепреь работает, СПАСИБО!!!

А можно как-нибудь сделать так, что-бы скрипт без <script type="text/javascript" src="/.s/src/jquery-1.10.2.js"></script> работал?


Re: Как можно реализовать логин на сайте без uwnd.js?

Admin » » Сообщение:

Fufaev Alexander писал(а) › 08 сен 2017, 17:29:А можно как-нибудь сделать так, что-бы скрипт без <script type="text/javascript" src="/.s/src/jquery-1.10.2.js"></script> работал?

Можно.
Сделать post запрос через JavaScript. Только не пойму - зачем это вам?.. Весь юкоз завязан на jquery + uwnd .. проще сменить юкоз, чем переделать зашитые в него функции на чистый JavaScript...


Re: Как можно реализовать логин на сайте без uwnd.js?

Fufaev Alexander » » Сообщение:

Admin писал(а) › 08 сен 2017, 19:08:

Fufaev Alexander писал(а) › 08 сен 2017, 17:29:А можно как-нибудь сделать так, что-бы скрипт без <script type="text/javascript" src="/.s/src/jquery-1.10.2.js"></script> работал?

Можно.
Сделать post запрос через JavaScript. Только не пойму - зачем это вам?.. Весь юкоз завязан на jquery + uwnd .. проще сменить юкоз, чем переделать зашитые в него функции на чистый JavaScript...

Но я просто все системные файлы вырезал (css, js) чтобы страничка быстреи работала и хочу только логин использовать, просто нихочу для этого jquery подключать если есть возможность без))

script Код: Выделить всё Развернуть
$.ajax({
   type: "POST",
   url: "/index/sub",
   data: {user:usrnmVal, password:pswdVal, a:2, ajax:1, rnd:0},
   success: function(data) {
      var result = $(data).find("cmd[p=\"innerHTML\"]").text();
      
      $("#resultsappd").html(result).css("display","none");
      var errorc = $("#resultsappd div .myWinLoadSF").attr("title");
      var successc = $("#resultsappd div div").hasClass("myWinLoadSD");
      console.log(successc);
      
      if(successc == true) {
      
         logInProg.classList.remove("checking");
         logInProg.className += ' logInSccs';
         location.reload();
      
      } else if(errorc == "Your IP address has been temporarily blocked" || "Wrong username or password") {
      
         logInProg.classList.remove("checking");
         logInProg.className += ' logInErr';
         
      } else {
      
         logInProg.classList.remove("checking");
         
      }
      usrnm.disabled = false;
      pswd.disabled = false;
   },
      error: function(e) {
         logInProg.classList.remove("checking");
         console.log("Connection Issue");
   },
   dataType: "xml"
});

Половину уже получилось переписать в нормальныи JS (пока еще все работает :D), но не знаю как с ajax... можешь помочь плиз? Буду очень благодарен)))

п.с. обращаюсь к тебе так как заметил в гугле то что ты знаток по таким делам))


Re: Как можно реализовать логин на сайте без uwnd.js?

Admin » » Сообщение:

Fufaev Alexander писал(а) › 08 сен 2017, 20:04:Но я просто все системные файлы вырезал (css, js) чтобы страничка быстреи работала

Поверь мне, ускорение таким способом, столь незначительное, что даже говорить об этом не стоит..

Fufaev Alexander писал(а) › 08 сен 2017, 20:04:но не знаю как с ajax...

Как-то так:

Код: Выделить всё Развернуть
<script type="text/javascript">
function getXmlHttp() {
   var xmlhttp;
   try {
      xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
   } catch (e) {
   try {
      xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
   } catch (E) {
      xmlhttp = false;
   }
   }
   if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
      xmlhttp = new XMLHttpRequest();
   }
   return xmlhttp;
}
function loginsub() {
   var user = document.getElementById('usrnm').value; // Считываем значение usrnm
   var password = document.getElementById('pswd').value; // Считываем значение pswd

   var xmlhttp = getXmlHttp(); // Создаём объект XMLHTTP
   xmlhttp.open('POST', '/index/sub/', true); // Открываем асинхронное соединение
   xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); // Отправляем кодировку
   xmlhttp.send('user=' + encodeURIComponent(user) + '&password=' + encodeURIComponent(password) + '&a=2&ajax=1&rnd=0'); // Отправляем POST-запрос

   xmlhttp.onreadystatechange = function() { // Ждём ответа от сервера
      if (xmlhttp.readyState == 4) { // Ответ пришёл
         if(xmlhttp.status == 200) { // Сервер вернул код 200 (что хорошо)
            var result = xmlhttp.responseText; // Ответ сервера
            if(result.indexOf('myWinLoadSD')!=-1){
               window.location.reload();
            }else if(result.indexOf('Your IP')!=-1){
               alert('Your IP address has been temporarily blocked');
            }else if(result.indexOf('Wrong')!=-1){
               alert('Wrong username or password');
            }else{
               alert(result);
            }
         }else{
            alert('Connection Issue');
         }
      }else{
         alert('Unknown error');
      }
   };
   return false;
}
</script>

Re: Как можно реализовать логин на сайте без uwnd.js?

Fufaev Alexander » » Сообщение:

Супер! на твоем примере теперь понял как ajax работает!
И логин тоже получается. И он намного быстрей стандартного работает! У стандартного $LOGIN_FORM$ пока там галочка появится и т.д.... :)))) А таким способм просто нажал и сразу-же зашел!

Теперь надо как-то сделать так чтоб страничка не перегружалась после логина. Тоесть надо как-то заменить: window.location.reload();


Re: Как можно реализовать логин на сайте без uwnd.js?

Admin » » Сообщение:

Fufaev Alexander писал(а) › 09 сен 2017, 16:20:Теперь надо как-то сделать так чтоб страничка не перегружалась после логина. Тоесть надо как-то заменить: window.location.reload();

А как вы замените?) Страница сформирована для гостя, а тут вы вошли через аякс.. если не перегружать страницу, то все останется так, как будто вы гость, пока не откроете другую страницу или не обновите текущую.


Re: Как можно реализовать логин на сайте без uwnd.js?

Fufaev Alexander » » Сообщение:

Admin писал(а) › 09 сен 2017, 17:55:

Fufaev Alexander писал(а) › 09 сен 2017, 16:20:Теперь надо как-то сделать так чтоб страничка не перегружалась после логина. Тоесть надо как-то заменить: window.location.reload();

А как вы замените?) Страница сформирована для гостя, а тут вы вошли через аякс.. если не перегружать страницу, то все останется так, как будто вы гость, пока не откроете другую страницу или не обновите текущую.

Да этого я тоже примерно час назад додумался))))))))

Ну ничего страшного, я рад то что у мена вообще получилось сделать то что я уже давно хотел реализовать. Спасибо тебе! ^_^

вот суперский результат: B)

Изображение





Похожие темыКомментарии ПросмотрыПоследнее сообщение
0647Символ рубля не отображается на сай...
Сообщение от: Admin
04594Установка и настройка Danneo CMS на...
Сообщение от: Admin
829443Добавляем быстрый ответ для гостей
Сообщение от: Admin
301280Re: Google карта на сайте юКоз
Сообщение от: Rln
21033Re: Какие продукты можно заморозить...
Сообщение от: Admin