Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 16 bis 30 von 31
  1. #16
    HeinrichK ist offline Mitglied
    registriert
    22-10-2008
    Beiträge
    25

    AW: Browserauflösung an PHP-Variable übergeben und in Datenbank speichern

    Hallo,

    danke für die bisherige Hilfe. Das PHP-Script macht nun die richtigen Einträge in die Datenbank (INSERT bei neuem Wert, UPDATE bei bekanntem Wert).

    Nach wie vor tut es das JS nicht richtig (egal ob ich die JQ-Variante oder den veralteten REQUEST - s.o.) verwende. Beides mal erfolgen bei ca. 5 Besuchen auf der seite 1-2 Einträge zur Auflösung des Browsers. Also, mal klappt's, mal nicht - und ich kann nichts erkennen, was den Unterschied ausmacht.

    Das JS ist am Ende der index-php, direkt vor dem abschließenden </body> eingefügt. Hat jemand noch irgendeine Idee, an welchen Faktoren, Umständen, Umgebungskonfigurationen es liegen könnte, also wo ich suchen sollte? Danke schon mal für die weitere Hilfe.

  2. #17
    Avatar von kkapsner
    kkapsner ist offline Super Moderator
    registriert
    28-03-2008
    Beiträge
    17.518

    AW: Browserauflösung an PHP-Variable übergeben und in Datenbank speichern

    Das klingt irgendwie nach einem Cache-Problem. Kannst du in der Browserkonsole (F12) mal in der Netzwerkanalyse nachsehen, welchen Status die Anfragen bekommen?

  3. #18
    HeinrichK ist offline Mitglied
    registriert
    22-10-2008
    Beiträge
    25

    AW: Browserauflösung an PHP-Variable übergeben und in Datenbank speichern

    Verstehe ich nicht. Wie soll ich in meinem Browser nachsehen, was in den Browsern der user passiert, wenn sie meine Seite besuchen?

    - - - Aktualisiert - - -

    Sorry (es ist spät) - du meintest sicher, dass ich es selbst teste. Der Status der statistik_aufloesung.php ist bei mir in der Konsole 200. Also müsste eigentlich klappen, oder?

  4. #19
    SteelWheel ist offline Haudegen
    registriert
    18-07-2012
    Beiträge
    591

    AW: Browserauflösung an PHP-Variable übergeben und in Datenbank speichern

    "JavaScript nicht aktiviert" wäre u. U. auch noch eine zu berücksichtigende Option.

    $.post() wird naturgemäß nicht gecached - aber es soll schon Pferde (kotzend) vor Apotheken gegeben haben. Simpel zur Darstellung: $.post("statistik_aufloesung.php", {x:x, y:y, z:Math.random()}, function(r){ console.log(r); }); trägt einen beliebigen Zufallswert kleiner 1 mit sich (in z; oder beliebiger Name) und modifiziert daher den Versand jeweils. Einen Test wäre es wert ...

    Hattest Du den Vorschlag mit dem sessionStorage realisiert? Dann wäre dies mitunter auch ein denkbarer Grund, warum nicht immer Werte kommen.

    Zuguterletzt wäre da noch das Treiben auf der PHP-Seite ... Bedingung nicht erfüllt, merkwürdige SQL-Aktionen (was?! Anspielung?? Neeee ... !!) ... lass Dir doch einfach die Queries zeigen, die benutzt werden und drückst diese mal in die Konsole (oben bereits integriert; musst nur den Query zurückliefern).

    Das wird was ganz furchtbar Einfaches sein ... mit Sicherheit.

  5. #20
    HeinrichK ist offline Mitglied
    registriert
    22-10-2008
    Beiträge
    25

    AW: Browserauflösung an PHP-Variable übergeben und in Datenbank speichern

    Hallo

    Statistik von jetzt im Vergleich zu gestern Abend: 10 Besucher / 22 Seitenaufrufe mehr, aber nur 2 zusätzliche Einträge zur Browserauflösung. Das scheint mir heutzutage nicht an deaktiviertem JS zu liegen.

    sessionStorage ist noch nicht umgesetzt. Der JS-Request steht ohne Bedingung am Ende der index.php

    Query-Strings werden protokolliert und kontrolliert. Böse strings würden zum Abbruch des scripts führen, gabe es aber in den letzten Tagen nur einen.

    Das mit dem Zufallswert werde ich gleich mal testen.

    Jetzt hoffe ich auf das "furchtbar Einfache"...

    - - - Aktualisiert - - -

    @SteelWheel

    Mit deinem JQ-Vorschlag wurden jetzt bei einem neuen Besuche (und nur 1 Seitenruf) 2 Einträge vorgenommen.

    Erklär mal doch mal, was diese function(r) bzw. (in deinem früheren Vorschlag) die function(c) macht. Danke.

  6. #21
    Avatar von miniA4kuser
    miniA4kuser ist offline Lounge-Member
    registriert
    12-07-2006
    Beiträge
    3.034

    AW: Browserauflösung an PHP-Variable übergeben und in Datenbank speichern

    Zitat Zitat von HeinrichK Beitrag anzeigen
    Erklär mal doch mal, was diese function(r) bzw. (in deinem früheren Vorschlag) die function(c) macht. Danke.
    Das sind die sogenannten Callback-Funktionen. Diese werden ausgeführt, wenn die $.post(...)-Funktion ausgeführt wurde und eine Antwort von dem Server kommt. Die Antwort von dem Server ist dann in der Variable r bzw. c verfügbar, so dass du auswerten kannst, wie der Server auf deine POST-Anfrage reagiert hat.
    Hoffe ich konnte helfen

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

    AW: Browserauflösung an PHP-Variable übergeben und in Datenbank speichern

    @miniA4kuser

    danke für die Hilfe. Dann kann ich die weglassen, da ich in der Datei, die aufgerufen wird, sehe, was passiert ist. Zu Testzwecken wäre es interessant.

  8. #23
    SteelWheel ist offline Haudegen
    registriert
    18-07-2012
    Beiträge
    591

    AW: Browserauflösung an PHP-Variable übergeben und in Datenbank speichern

    Sorry, hatte "r" für "Response" gesetzt ... eigentlich ist es aber ein "c" (= callback). Dass es nur ein Test für die Entwicklungsumgebung ist, stand aber dran ...

    Dann ist es - wie schon geäußert - u. U. nicht der JavaScript-Teil. Log doch mal alles (!), was ankommt, in einem Text-File ... das vergleichst Du später mit dem Inhalt Deiner Table und dann wirst zügig dahinter kommen, woher die Abweichung kommt.

  9. #24
    HeinrichK ist offline Mitglied
    registriert
    22-10-2008
    Beiträge
    25

    AW: Browserauflösung an PHP-Variable übergeben und in Datenbank speichern

    @Steelwheel,

    jetzt hatte ich mit weiteren Variablen, die übergeben werden sollten experimentiert, was nicht klappte. Dann alles wieder zurückgesetzt - und nun geht garnix mehr. Ich muss wohl tatsächlich genau loggen, was eigentlich passiert (und wo nix passiert). Aber nochmal für mein Laienverständnis:

    Am Ende der index.php steht folgendes JQ:
    Code:
    var height = screen.height;
    var width = screen.width;
    $.post("http://www.meineseite.de/js/statistik_aufloesung.php", {height:height, width:width});
    Ich verstehe das so, dass dies die statistik_aufloesung.php auf dem Server aufruft und die Variablen width und height übergibt. Die statistik_aufloesung.php sieht so aus:
    PHP-Code:
    $width intval($_POST['width']);
    $height intval($_POST['height']);
    $aufl $width."x"$height;

    // Eintrag in Dauerstatidtik BROWSERAUFLÖSUNG
    $stmt_auf_neu $pdo->prepare("INSERT INTO ".TAB_STAT_AUFL." (aufl, zahl) VALUES (?, ?) ON DUPLICATE KEY UPDATE zahl = zahl+1;");
    $stmt_auf_neu->execute(array($aufl1)); 
    Sie empfängt die Werte und trägt sie in die Datenbank ein. Irgendeine Ausgabe bzw. Rückgabe an den Client erfolgt nicht (macht ja auch keinen Sinn, an Besucher, die gezählt werden, etwas zurück zu geben).

    Nach allen Tipps, die ich bisher hier erhalten habe, müsste das doch (theoretisch) funktionieren, oder?

    Aber - wie gesagt - ich logge jetzt erstmal, was genau passiert.

    - - - Aktualisiert - - -

    Jetzt geht überhaupt wieder was, wobei in den letzten 5 Stunden 4 neue Besuche / seitenaufrufe gezählt wurden, aber nur 1 Aufruf der statistik_aufloesung.php (und Eintrag in die Datenbank.

    Dass es überhaupt wieder zählt liegt daran, dass ich folgenden Header wieder eingebaut habe (am Anfang der index.php):

    PHP-Code:
    header('Cache-Control: must-revalidate, pre-check=0, no-store, no-cache, max-age=0, post-check=0'); 
    Sorry übrrigens, den hatte ich bisher nicht erwähnt. Der war bei meinem ursprünglichen Request (im Internet gefunden) als notwendig mit angegeben. Also, ohne ihn passiert nix, mit ihm ab und zu Einträge. Vielleicht ist bei ihm noch etwas falsch....?

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

    AW: Browserauflösung an PHP-Variable übergeben und in Datenbank speichern

    Also Leute - ich kapituliere!

    Die letzten drei Tests ergaben: Jedesmal 5 neue Seitenaufrufe. Dabei gab es im ersten Fall 4 JQ-Aufrufe der PHP-Zielseite, im zweiten 1 Aufruf und im dritten Fall 2 Aufrufe. Ich sehe weit und breit keinen Hinweis, warum es mal klappt und warum nicht.

    Es kann eigentlich auch kein Cache-Problem sein, da die geloggten Seitenaufrufe von unterschiedlichen IPs zu unterschiedlichen Zeiten kamen.

    Jedenfalls danke für die vielen Tipps, die ihr mir gegeben habt.

  11. #26
    Avatar von mikdoe
    mikdoe ist offline Administrator
    registriert
    01-05-2010
    Beiträge
    7.478

    AW: Browserauflösung an PHP-Variable übergeben und in Datenbank speichern

    letztlich entscheidend ist der code im browser, nicht das php gedöns. kannst du denn aktuell selbst den fehler reproduzieren mithilfe verschiedener browser/geräte/freunde? und in dem moment wo ein seitenaufruf erfolgt, in der db aber kein eintrag steht, wie sieht da der code im browser aus und was steht in der console?

    danach code soweit reduzieren, das der fehler noch auftritt aber kein ballast mehr da ist. nächster schritt wäre das vorübergehende ersetzen des jq codes durch pures js mit debug ausgaben nach jeder zeile in die console, weil fehler im jq code nicht in der console angezeigt werden.

    lösbar ist das aber man muss sehr strukturiert suchen sonst wird das nichts.
    Das deutsche Javascript Forum http://forum.jswelt.de http://forum.jswelt.de/images/logoJsWeltForumV4_32x22.png
    Sorry wenn ich manchmal ohne Hallo und nur klein schreibe! Dann bin ich nicht unfreundlich sondern mit nervigem kleinem Touch Tablet zugange

  12. #27
    HeinrichK ist offline Mitglied
    registriert
    22-10-2008
    Beiträge
    25

    AW: Browserauflösung an PHP-Variable übergeben und in Datenbank speichern

    @mikdoe

    Du hast Recht. Von zu Hause aus (von verschiedenen Geräten) hat es immer geklappt. Dann stand logischer Weise auch kein Fehler in der Konsole. Ich müsste es mal von Freunden aus versuchen.

  13. #28
    SteelWheel ist offline Haudegen
    registriert
    18-07-2012
    Beiträge
    591

    AW: Browserauflösung an PHP-Variable übergeben und in Datenbank speichern

    Status?

  14. #29
    HeinrichK ist offline Mitglied
    registriert
    22-10-2008
    Beiträge
    25

    AW: Browserauflösung an PHP-Variable übergeben und in Datenbank speichern

    200

  15. #30
    Avatar von mikdoe
    mikdoe ist offline Administrator
    registriert
    01-05-2010
    Beiträge
    7.478

    AW: Browserauflösung an PHP-Variable übergeben und in Datenbank speichern

    ich habe den verdacht, dass steel den aktuellen status deiner entwicklung wissen möchte und nicht irgendein http status. zumindest geht es mir so.
    Das deutsche Javascript Forum http://forum.jswelt.de http://forum.jswelt.de/images/logoJsWeltForumV4_32x22.png
    Sorry wenn ich manchmal ohne Hallo und nur klein schreibe! Dann bin ich nicht unfreundlich sondern mit nervigem kleinem Touch Tablet zugange

Seite 2 von 3 ErsteErste 123 LetzteLetzte

Ähnliche Themen

  1. Bilder in Datenbank speichern
    Von xorg1990 im Forum Allgemeines
    Antworten: 10
    Letzter Beitrag: 29-03-2016, 14:38
  2. Mit Ajax Daten in Datenbank speichern
    Von Huitzlipochtli im Forum JavaScript
    Antworten: 7
    Letzter Beitrag: 18-01-2013, 18:38
  3. Antworten: 1
    Letzter Beitrag: 19-04-2012, 21:02
  4. Jede Sekunde was in Datenbank speichern
    Von Tectum im Forum Serverseitige Programmierung
    Antworten: 27
    Letzter Beitrag: 20-02-2011, 23:00
  5. Sessionvariable in Datenbank speichern
    Von dudl313 im Forum Serverseitige Programmierung
    Antworten: 27
    Letzter Beitrag: 02-10-2010, 18:56

Lesezeichen

Berechtigungen

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