Seite 3 von 4 ErsteErste 1234 LetzteLetzte
Ergebnis 31 bis 45 von 48
Like Tree1Likes

Thema: AJAX Benutzerauflösung abspeichern geht nicht

  1. #31
    tsseh ist offline Foren-Gott
    registriert
    19-05-2008
    Beiträge
    5.640

    AW: AJAX Benutzerauflösung abspeichern geht nicht

    da sind wir wieder bei #6 letzter satz. prinzipiell geht das im onload oder onreadystatechanged des xhr

  2. #32
    zitrus ist offline Jungspund
    registriert
    20-07-2016
    Beiträge
    20

    AW: AJAX Benutzerauflösung abspeichern geht nicht

    Jetzt nochmal ganz simpel: wenn ich einfach so "localhost/test/ausgangsseite.php" aufrufe führt er den ajax-request aus. d.h., er sendet, ohne die seite neu zu laden, den link "ausgangsseite.php?breite=2560&hoehe=1440" an meine ausgangsseite.php (sofern der benutzer diese Auflösung eingestellt hat). Allerdings bekomme ich davon beim testen nichts mit, da er die Ausgangsseite ja nicht neu lädt und somit sind die Werte für Breite & Hoehe auch in meinen Variablen $aufloesung_Breite & $aufloesung_Hoehe gespeichert und ich kann diese weiterverarbeiten. Ist mein Gedankengang soweit richtig? Wenn ja, wär mein "Problem" ja gelöst... Danke für deine Geduld schon mal!

  3. #33
    tsseh ist offline Foren-Gott
    registriert
    19-05-2008
    Beiträge
    5.640

    AW: AJAX Benutzerauflösung abspeichern geht nicht

    simpel ausgedrückt ja.

  4. #34
    zitrus ist offline Jungspund
    registriert
    20-07-2016
    Beiträge
    20

    AW: AJAX Benutzerauflösung abspeichern geht nicht

    Vielen Dank, es klappt prima! Nochmals danke für deine Geduld.

  5. #35
    zitrus ist offline Jungspund
    registriert
    20-07-2016
    Beiträge
    20

    AW: AJAX Benutzerauflösung abspeichern geht nicht

    Servus,
    ich habe gestern geschrieben, dass es klappt die Breite & Höhe auszulesen und auch in die Datenbank. Heute klappt es allerdings nicht mehr, obwohl ich 1:1 zu denselben Code ausführe. Hier nochmal der Code:

    Code:
    <script type="text/javascript">
    var http = new XMLHttpRequest();
    var width = screen.width;
    var height= screen.height;
    var url = "Tracking.php";
    var params = "breite="+width+"&hoehe="+height+"";
    http.open("GET", url+"?"+params, true);
    http.send();
    
    </script>
    
    <?php
    if (isset($_GET["breite"])){
    		$aufloesung_Breite = $_GET["breite"];
    		$aufloesung_Hoehe = $_GET["hoehe"];
    }
    ...
    $query = "INSERT INTO trackuser (UserID, SessionID, Aufloesung_Breite, Aufloesung_Hoehe, Browser, BrowserVersion, Betriebssystem, Zeitpunkt, Sprache) VALUES
    		($userID, $sessionID, $aufloesung_Breite, $aufloesung_Hoehe, \"$browser\", \"$browserVersion\", \"$bs\", NOW(), \"$sprache\")";
    ?>
    Folgende Ausgabe erhalte ich:

    Code:
    Notice: Undefined variable: aufloesung_Breite
    Notice: Undefined variable: aufloesung_Hoehe
    echo "$query"; erzeugt folgende Ausgabe:
    INSERT INTO trackuser (UserID, SessionID, Aufloesung_Breite, Aufloesung_Hoehe, Browser, BrowserVersion, Betriebssystem, Zeitpunkt, Sprache) VALUES (3, 1, , , "chrome", "52.0", "windows", NOW(), "de")

  6. #36
    tsseh ist offline Foren-Gott
    registriert
    19-05-2008
    Beiträge
    5.640

    AW: AJAX Benutzerauflösung abspeichern geht nicht

    weil $query = "... auch ausgeführt wird, wenn breite nicht als get-parameter übergeben wird(außerdem sollte hoehe auch überprüft werden).

  7. #37
    zitrus ist offline Jungspund
    registriert
    20-07-2016
    Beiträge
    20

    AW: AJAX Benutzerauflösung abspeichern geht nicht

    Ich muss dazu sagen, dass ich folgende Struktur habe:
    Code:
    if (isset($_GET["breite"])){
    		$aufloesung_Breite = $_GET["breite"];
    		$aufloesung_Hoehe = $_GET["hoehe"];
    }
    ...
    if(...){
    ... $query = "INSERT INTO trackuser (UserID, SessionID, Aufloesung_Breite, Aufloesung_Hoehe, Browser, BrowserVersion, Betriebssystem, Zeitpunkt, Sprache) VALUES
    		($userID, $sessionID, $aufloesung_Breite, $aufloesung_Hoehe, \"$browser\", \"$browserVersion\", \"$bs\", NOW(), \"$sprache\")";
    
    }
    }
    sobald ich allerdings folgende Struktur vornehme:
    Code:
    if (isset($_GET["breite"])){
    		$aufloesung_Breite = $_GET["breite"];
    		$aufloesung_Hoehe = $_GET["hoehe"];
    }
    query = "INSERT INTO trackuser (UserID, SessionID, Aufloesung_Breite, Aufloesung_Hoehe, Browser, BrowserVersion, Betriebssystem, Zeitpunkt, Sprache) VALUES
    		($userID, $sessionID, $aufloesung_Breite, $aufloesung_Hoehe, \"$browser\", \"$browserVersion\", \"$bs\", NOW(), \"$sprache\")";
    Funktioniert es einwandfrei, aber auch nur wenn es nicht innerhalb eines IF-Zweiges liegt. Kann ein weiterer IF-Zweig die Variablenzuweisung so beeinträchtigen oder kann ich das mithilfe von statischen Variablen umgehen?

    Edit: statische Variablen bringen auch nichts
    Geändert von zitrus (22-07-2016 um 16:04 Uhr)

  8. #38
    Avatar von kkapsner
    kkapsner ist offline Super Moderator
    registriert
    28-03-2008
    Beiträge
    17.672

    AW: AJAX Benutzerauflösung abspeichern geht nicht

    Was sind denn die ganzen ... in deinem Code?

  9. #39
    zitrus ist offline Jungspund
    registriert
    20-07-2016
    Beiträge
    20

    AW: AJAX Benutzerauflösung abspeichern geht nicht

    Ich versuche es mal mit einer nachgelagerten update-funktion. Die variablen hierfür lasse ich mir dann einfach per ajax-request zuschicken (userid, sessionid, breite, hoehe) z.b.
    Geändert von zitrus (23-07-2016 um 13:50 Uhr)

  10. #40
    Avatar von kkapsner
    kkapsner ist offline Super Moderator
    registriert
    28-03-2008
    Beiträge
    17.672

    AW: AJAX Benutzerauflösung abspeichern geht nicht

    Ich hab' keine Ahnung, wie das helfen soll. Auch wenn die Funktion "nachgelagert" ist, wird sie ausgeführt, bevor der AJAX-Request beim Server ankommen.

    Meine starke Vermutung ist, dass du das Konzept der Trennung zwischen Client und Server und der Kommunikation/Ausführreihenfolge noch nicht 100%ig verstanden hast. Lese dich da mal tiefer ein.

  11. #41
    zitrus ist offline Jungspund
    registriert
    20-07-2016
    Beiträge
    20

    AW: AJAX Benutzerauflösung abspeichern geht nicht

    Kurze Rückmeldung von mir: das geschilderte Vorgehen hat geklappt; keine Ahnung warum. Ich muss das Abfragen & Zuweisen der AJAX-Variablen mit der DB-query kapseln. Sobald ein IF-Zweig dazwischen war, funktionierte es nicht.

  12. #42
    tsseh ist offline Foren-Gott
    registriert
    19-05-2008
    Beiträge
    5.640

    AW: AJAX Benutzerauflösung abspeichern geht nicht

    Zitat Zitat von zitrus Beitrag anzeigen
    Ich muss das Abfragen & Zuweisen der AJAX-Variablen mit der DB-query kapseln. Sobald ein IF-Zweig dazwischen war, funktionierte es nicht.
    damit kann kein mensch was anfangen.
    beantworte mal #38 (AJAX Benutzerauflösung abspeichern geht nicht) dann können wir dir sagen was dein problem ist.
    und der
    sobald ich allerdings folgende Struktur vornehme: ... Funktioniert es einwandfrei
    teil aus #37 kann nicht einwandfrei funktionieren, weil aufloesung_Breite und aufloesung_Höhe nur (vernumpftig) gesetzt sind wenn du breite als get-parameter übergibst.

    - - - Aktualisiert - - -

    Zitat Zitat von kkapsner Beitrag anzeigen
    Ich hab' keine Ahnung, wie das helfen soll. Auch wenn die Funktion "nachgelagert" ist, wird sie ausgeführt, bevor der AJAX-Request beim Server ankommen.
    damit meint er ein update der db nur mit breite und höhe durch den AJAX-Request.

  13. #43
    Avatar von kkapsner
    kkapsner ist offline Super Moderator
    registriert
    28-03-2008
    Beiträge
    17.672

    AW: AJAX Benutzerauflösung abspeichern geht nicht

    Zitat Zitat von tsseh Beitrag anzeigen
    damit meint er ein update der db nur mit breite und höhe durch den AJAX-Request.
    Aha... deine Kristallkugel ist anscheinend besser als meine - welche Marke hast du?

  14. #44
    tsseh ist offline Foren-Gott
    registriert
    19-05-2008
    Beiträge
    5.640

    AW: AJAX Benutzerauflösung abspeichern geht nicht

    Zitat Zitat von kkapsner Beitrag anzeigen
    Aha... deine Kristallkugel ist anscheinend besser als meine - welche Marke hast du?
    ratefix von uri geller
    kkapsner likes this.

  15. #45
    HeinrichK ist offline Mitglied
    registriert
    22-10-2008
    Beiträge
    25

    AW: AJAX Benutzerauflösung abspeichern geht nicht

    Hi,

    ich will das Thema nochmal aufgreifen, weil ich am gleichen Vorhaben sitze. Mir geht es um die Übergabe mehrerer Variablen an den XMLHttpRequest(), was nicht funktioiert (eine zu übergeben klappt):

    In der Ausgangsdatei, die ich mit dem Request auch wieder aufrufe, steht im Body:
    Code:
    <script type="text/javascript">
    var height = screen.height;
    var width = screen.width;
    setRequest(width);
    </script>
    sowie
    PHP-Code:
    $width $_POST['width'];
    echo 
    "<p>Die PHP-Width: ".$width."</p>";
    $width $_POST['height'];
    echo 
    "<p>Die PHP-height: ".$height."</p>"
    Im Head steht die function:
    HTML-Code:
     <script type="text/javascript">
      <!--
    	var request = false;
    
    	// Request senden
    	function setRequest(value) {
    		// Request erzeugen
    		if (window.XMLHttpRequest) {
    			request = new XMLHttpRequest(); // Mozilla, Safari, Opera
    		} else if (window.ActiveXObject) {
    			try {
    				request = new ActiveXObject('Msxml2.XMLHTTP'); // IE 5
    			} catch (e) {
    				try {
    					request = new ActiveXObject('Microsoft.XMLHTTP'); // IE 6
    				} catch (e) {}
    			}
    		}
    
    		// überprüfen, ob Request erzeugt wurde
    		if (!request) {
    			alert("Kann keine XMLHTTP-Instanz erzeugen");
    			return false;
    		} else {
    			var url = "admin_index.php?sid=56";
    			// Request öffnen
    			request.open('post', url, true);
    			// Requestheader senden
    			request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    			// Request senden
    /*			request.send();	 */
    			request.send('height='+value+'&width='+value);			
    /*				request.send('height='+value);
    			request.send('width='+value);	 */		
    
    					
    			// Request auswerten
    			request.onreadystatechange = interpretRequest;
    		}
    	}
    
    
    
    
    	// Request auswerten
    	function interpretRequest() {
    		switch (request.readyState) {
    			// wenn der readyState 4 und der request.status 200 ist, dann ist alles korrekt gelaufen
    			case 4:
    				if (request.status != 200) {
    					alert("Der Request wurde abgeschlossen, ist aber nicht OK\nFehler:"+request.status);
    				} else {
    					var content = request.responseText;
    					// den Inhalt des Requests in das <div> schreiben
    					document.getElementById('content').innerHTML = content; 	
    				
    				}
    				break;
    			default:
    				break;
    		}
    	}
    	
    	
      //-->
      </script>
    Wie gesagt, mit einer Variablen (hier width) funktioniert es. Wie ich zwei (width, height) übergebe, weiß ich nicht. Es klappt nicht, bei SetReques() zwei Variablen in die Klammer einzugeben, wie ich das bei PHP machen würde. Also SetReques(height, width) ergibt = nichts! Hat jemand einen guten Tipp? Danke schon mal!
    Geändert von mikdoe (26-02-2017 um 14:24 Uhr) Grund: Code Tags

Seite 3 von 4 ErsteErste 1234 LetzteLetzte

Ähnliche Themen

  1. Cufon + AJAX (Mootools) geht nicht
    Von lomex im Forum JavaScript
    Antworten: 4
    Letzter Beitrag: 03-02-2011, 14:47
  2. Ajax - responseText im IE geht nicht
    Von Igibob im Forum JavaScript
    Antworten: 9
    Letzter Beitrag: 24-06-2010, 20:35
  3. gleiche seite mit ajax aufrufen geht nicht
    Von baileys-deluxe im Forum JavaScript
    Antworten: 3
    Letzter Beitrag: 30-06-2009, 12:24
  4. Ajax Request geht nicht immer
    Von dezer im Forum JavaScript
    Antworten: 10
    Letzter Beitrag: 20-06-2008, 18:06
  5. ajax - lightbox geht nicht mehr??
    Von baileys-deluxe im Forum JavaScript
    Antworten: 0
    Letzter Beitrag: 09-05-2008, 07:42

Lesezeichen

Berechtigungen

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