Ergebnis 1 bis 3 von 3

Thema: Problem mit dem Ajax Agent

  1. #1
    Meister(in) Avatar von Teron Gerofied
    Registriert seit
    26.01.2008
    Ort
    serverraum
    Alter
    26
    Beiträge
    347
    Danke
    0
    Bekam 1 mal "Danke" in 1 Posting

    Standard Problem mit dem Ajax Agent

    Hello, weiß nicht ob ihn jemand kennt, aber ich nutze für meine Website den Ajax Agent (mit dem man daten an phpscripte mittels javascript senden kann..).. nunja ich habe auf meiner seite einen login der mit meinem phpbb zusammenhängt.. geht natürlich alles.. jetzt will aber so als kleinigkeit nicht nur prüfen ob beim login formular überhauptwas einegegeben wurde sondern auch mittels ajax agenten gleich ob username und pw stimmen... gut, ich hab die php funktion realisieren können und es auch mit javascript zusammenschließen.... habe dann auch eine dtaenbankabfrage in php gemacht, ob username und pw stimmen und die funktion hat dann auch brav true oder false an die javascript funktion geschickt.. habe das dann mittels alert ausgegeben in js, geht auch..

    nun habe ich die javascript funnktion CheckLogin() dort wird als erstes überprüft ob alle felder ausgefüllt wurden. dann ahbe ich ausserhalb die variable loginok = false;

    wenn loginok = false wird eine meldung ausgegeben dass username oder pw falsch sind.. geht auch, allerdings hab ichs jetzt so gelöst, da man bim ajax agent ja nur eine javascript funktion definieren kann wo die php funktion hinsendet, dass eben diese js funktion (getlogindata(str)) eben dieses true und false vond er php funktion mit der db anfrage empfängt.. wie gesagt in der ausgabe mit alert kommt tatsächlich true und false aber wenn ich die variable loginok auch umsetzen will, schreibt mir die CheckLogin funtkion wo ich dann loginok auf true oder false prüfe immer einen fehler, dass username und pw falsch sind.. jetzt meine vermutung: kann es sein dass javacript NICHt drarauf wartet bis php die javascriptfunktion fertig ausgeführt hat sondern parallel danneben schon das if mit dem (loginok) aufruft und deswegen nix gesetzt wird?

    thx für hilfe
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!
    PHP-Code:
    if(isset($this) || !isset($this)){ // that's the question... 

  2. #2
    Prinz(essin) Avatar von Lizzard
    Registriert seit
    19.02.2006
    Ort
    München
    Beiträge
    788
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Bei deinen AJAX-Aufrufen musst du eine "Callback-Funktion" einrichten, die praktisch dafür sorgt, dass PHP mit seiner Funktion durch ist, und einen Wert zurückgibt, bevor Javascript weiter arbeitet.
    Verwende dazu die Javascript-Eigenschaften "readyState" und "onreadystatechange" die dir sagt, wie weit die AJAX Abfrage ist.

    Hab dir hier mal ein Beispiel reingestellt, dass per GET ein PHP-Skript aufruft, und dann bei Antwort den "responseText" in ein HTML-Element "response" schreibt.

    Code:
    var object = null; //Initialisierung des Objekts mit Datentyp object
    
    function makeObject(){ //Erstellung des XMLHttpRequest-Objekts in den verschiedenen Browsern
        var object = null;
        try{
            object = new ActiveXObject("Microsoft.XMLHTTP");
        }
        catch(Error){
            try{
                object = new ActiveXObject("MSXML2.XMLHTTP");
            }
            catch(Error){
                try{       
                    object = new XMLHttpRequest();
                }
                catch(Error){
                    alert("Erstellung eines XMLHttpRequest-Objekts fehlgeschlagen!");
                }
            }
        }
        return object;
    }
    function sndReq(){ //AJAX-Request per GET an ein PHP-Dokument
        object.open("get", "request.php?parameter=" + parameter, true); //Übergabe des Parameters muss entsprechend eingerichtet werden!
        object.onreadystatechange = handleResponse; //Aufruf der Callback-Funktion handleResponse()
        object.send(null);
    }
    function handleResponse(){ //Callback-Funktion, die wartet, bis die AJAX-Übertragung abgeschlossen ist (ReadyState 4)
        if(object.readyState == 4){
            document.getElementById("response").innerHTML = object.responseText; //Ausgabe des PHP-Ergebnisses
        }
    }
    
    object = makeObject(); //Erstellung des XMLHttpRequest-Objekts

    Grüße,
    Lizzard
    Sometimes you have a programming problem and it seems like the best solution is to use regular expressions; now you have two problems.

  3. #3
    Meister(in)
    Themenstarter
    Avatar von Teron Gerofied
    Registriert seit
    26.01.2008
    Ort
    serverraum
    Alter
    26
    Beiträge
    347
    Danke
    0
    Bekam 1 mal "Danke" in 1 Posting

    Standard

    danke für die mühe, habe aber schon selbst eine lösung gefunden, trotzdem danke
    PHP-Code:
    if(isset($this) || !isset($this)){ // that's the question... 

Ähnliche Themen

  1. Mootools/Ajax Problem
    Von FaFoo im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 0
    Letzter Beitrag: 24.07.2008, 02:20
  2. AJAX-Problem
    Von Jessica Heinze im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 1
    Letzter Beitrag: 06.10.2007, 13:51
  3. User Agent Klasse
    Von vbtricks im Forum Script-Archiv
    Antworten: 5
    Letzter Beitrag: 23.08.2007, 01:04
  4. problem mit ajax code
    Von Dalle_112 im Forum HTML & CSS Forum
    Antworten: 0
    Letzter Beitrag: 14.08.2007, 18:25
  5. AJAX-Problem
    Von Dieter im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 8
    Letzter Beitrag: 21.05.2007, 09:29

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •