Ajax / JS Login Problem

Carrear

Erfahrenes Mitglied
Hi Leute,

ich habe jetzt 2 mal ein Tutorial für eine LoginScript durchgeackert. Dieses ist zu finden unter : http://www.deathmonkeyz.com/tutorials/view/Animated_AJAX_Login

Es hat schon relativ früh angefangen mucken zu machen, weil die von ihm konstruierte Animation bei mir viel unspäktakulärer aussieht. Aber das soll nicht das Problem sein. Jetzt funktioniert gar nichts mehr. Ich nehme an zu wissen an welche Stelle das Problem liegt. Zu sehen ist die Problemseite unter http://www.random-shox.com .

Code:
request.open('POST', 'ajax_lgn.php?t=' + new Date().getTime());
  request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
  request.onreadystatechange = function()
    {
    if(request.readyState == 4)
      {
      var text = request.responseText;
      if(text == 'invalid login')
        {
        alert("Falsche Logindaten...");
        myLoginForm.action = "javascript:sendLogin()";
        var submit = document.getElementById('my_login_submit');
        submit.disabled = "";
        submit.value = "Login";
        } else if(text == "") {
        alert ("Es ist ein Fehler aufgetreten.");
        myLoginForm.action = "javascript:sendLogin()";
        var submit = document.getElementById('my_login_submit');
        submit.disabled = "";
        submit.value = "Login";
        } else {
        showLoginInfo(text);
        }
      }
    }
    var params = "pass=" + pass + "&user=" + user;
    request.send(params);

Vollständigkeitshalber hier nochmal die komplette Datei

Code:
var myLoginForm = null;
var myLoginLink = null;
var closedMargin;
var request;
var myLogout;
window.onload =  function()
{
  myLoginLink = document.getElementById('my_login_link');
  
  if(myLoginLink != null)
    {
    myLoginLink.onclick = showLoginForm();
    } else {
    myLogout = document.getElementById('my_logout_link');
    myLogout.onClick = logOut;
    }
    
    myLoginForm = document.getElementById('my_login_form');
    
    closedMargin = -(myLoginForm.offsetHeight + 10);
    
    myLoginForm.style.marginTop = closedMargin + "px";
    
    myLoginForm.action = "javascript:";
                                                         
    var submit = document.getElementById('my_login_submit');
    submit.disabled = "";
}

function showLoginForm()
{
  myLoginLink.onclick = function() { return false;}
  myLoginLink.innerHTML = "Close";
  var showTween = new Tween(myLoginForm.style, "marginTop", closedMargin, 5, 1, "px", Tween.bounceEaseOut);
  showTween.begin();
  showTween.onComplete = function()
    {
    myLoginLink.onClick = hideLoginForm;
    myLoginForm.action = "javascript:sendLogin()";
    }
  return false;
}

function hideLoginForm()
{
  myLoginLink.onclick = function() {return false;}
  myLoginForm.action = "javascript:";
  myLoginLink.innerHTML = "Login";
  var hideTween = new Tween(myLoginForm.style, "marginTop", -1, closedMargin, 1, "px", Tween.strongEaseIn);
  hideTween.begin();
  hideTween.onComplete = function()
    {
    myLoginLink.onClick = showLoginForm;
    }
  return false;
}

function sendLogin()
{
  request = getXMLHttpRequestObject();
    
  var user = document.getElementById('my_login_name');
  var pass = document.getElementById('my_login_pass');
    
  pass = pass.value;
  user = user.value;
    
  myLoginForm.action = "javascript:";
    
  var submit = document.getElementById('my_login_submit');
    
  submit.disabled = "disabled";
  submit.value = "Einloggen..";
    
  request.open('POST', 'ajax_lgn.php?t=' + new Date().getTime());
  request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
  request.onreadystatechange = function()
    {
    if(request.readyState == 4)
      {
      var text = request.responseText;
      if(text == 'invalid login')
        {
        alert("Falsche Logindaten...");
        myLoginForm.action = "javascript:sendLogin()";
        var submit = document.getElementById('my_login_submit');
        submit.disabled = "";
        submit.value = "Login";
        } else if(text == "") {
        alert ("Es ist ein Fehler aufgetreten.");
        myLoginForm.action = "javascript:sendLogin()";
        var submit = document.getElementById('my_login_submit');
        submit.disabled = "";
        submit.value = "Login";
        } else {
        showLoginInfo(text);
        }
      }
    }
    var params = "pass=" + pass + "&user=" + user;
    request.send(params);
}

function showLoginInfo(username)
{
  myLoginLink.onclick = function() {return false;}
  myLoginForm.action = "javascript:";
    
  var l = document.getElementById('my_login_links_2');
    
  var hideTween = new Tween(myLoginForm.style, "marginTop", 0, closedMargin, 1, "px", Tween.strongEaseIn);
  var linkFader = new AlphaTween(l, 1, 0, .5);
  hideTween.begin();
  linkFader.begin();   
  hideTween.onComplete = function()
    {
    l.innerHTML = '<a href="logout.php" id="my_logout_link">Logout</a> | Willkommen ' + username;
    var at = new AlphaTween(l, 0, 1, .5);
    at.begin();
    myLogout = document.getElementById('my_logout_link');
    myLogout.onClick = function() {return false;}
    at.onComplete = function()
      {
      myLogout.onClick =  logOut;
      }
    }
}

function logOut()
{
  myLogout.onClick = function() {return false;}  
  var l = document.getElementById('my_login_links_2');
  
  var linkFader = new AlphaTween(l, 1, 0, .5);
  linkFader.begin();
    
  request = getXMLHttpRequestObject();
  request.open('GET', 'ajax_lgn.php');
  request.send(null);
    
  linkFader.onComplete = function()
    {
    l.innerHTML = '<a href="login.php" id="my_login_link">Login</a> | <a href="register.php" id="my_register_link">Register</a>';
    var at = new AlphaTween(l, 0, 1, .5);
    at.begin();
    myLoginLink = document.getElementById('my_login_link');
    myLoginLink.onClick = function() {return false;}
    at.onComplete = function()
      {
      myLoginForm.action = "javascript:";                                                   
      var submit = document.getElementById('my_login_submit');
      submit.disabled = "";
      submit.value = "Login";
      myLoginLink.onClick =  showLoginForm;
      }
    }
  return false;
}

function getXMLHttpRequestObject ()
{
        if  (window.XMLHttpRequest)
          return new XMLHttpRequest ();
        else if(window.ActiveXObject)
          return new ActiveXObject('MICROSOFT.XMLHTTP');
        else
          alert ('Your Browser doesnt support Ajax!');
}

Komischerweise ist das Menü bei mir von anfang an aufgeklappt.
Bei mehrfachen Refresh der Seite fällt mir auf, dass am Anfang ganz kur "Login" statt "Close" oben drin steht. So sollte es aber permanent sein, bis mal auf Login klickt. Dann soll das Formular, welches jetzt permanent darunter zu sehn ist aufklappen.

Folgende Zeile wurde an verschiedenen Stellen eingefügt, damit das Fomular nicht an eine nicht vorhandene login.php versendet wird, sondern vom Script verarbeitet wird:

Code:
myLoginForm.action = "javascript:";

Aber wenn ich jetzt auf den Submit Button klicke versendet er das ganze doch an diese nicht vorhandene Datei. Ich hoffe mir kann da jemand helfen.

Ich hoffe, dass ihr mir dabei helfen könnt. Sollte hier kein Fehler sein, kann ich die anderen Datein auch senden.
 
Ich habe mich jetzt einfach für ein anderes Login Formular entschieden. Werde das erstmal als erledigt markieren. Sollte der Author mir noch antworten werde ich euch posten. Viele Grüße
 

Neue Beiträge

Zurück