• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Zugriffe auf Website in DB schreiben - Denkfehler (?)

hannover96xd

Mitglied
Hi,

gerade scheint bei mir ein Denkfehler vorzuliegen...

Ich möchte die Zugriffe auf einer Website zählen und dann in einer DB speichern. Der "Aufbau" ist so:

Es wird abgefragt ob ein Eintrag in der DB visitors mit der IP des Besuchers vorhanden ist. Wenn nicht, dann wird ein Datensatz erstellt. Der Spalte VIS_ACCESS (vis steht für visitors), wird der Wert "1" zugewiesen und die IP wird in der Spalte VIS_IP gespeichert.

So weit funktioniert alles perfekt.

Wenn nun ein Besucher mit einer IP, die schon in der DB existiert, die Website besucht, wird der Wert aus der Spalte VIS_ACCESS um eine Zahl erhöht.

Nun zum Problem: Wenn der Besucher die Website aktualisiert (!), dann wird der Zugriffs-Wert nicht um 1, sondern um 2 erhöht....?!

Das verstehe ich nicht.

Wenn der Nutzer jedoch die Website nicht aktualisiert, sondern sich von der URL example.com/seite1 zu example.com/seite2 klickt, dann wird der Wert, wie gewünscht, um einen Zähler erhöht.

Auch wenn der Nutzer einen Link anklickt, der auf die gleiche Seite verweist, funktioniert alles perfekt. Der Wert wird um 1 erhöht.

Hat jemand eine Idee, wo mein Fehler liegen könnte?

Leider habe ich nur über das Handy mobiles Internet, deswegen kann ich nur ein Bild vom Code machen... Ich hoffe ihr vergebt mir ;)
2f6ac9a1772684fa91acbd2cf2395ceb.jpg


Gruß
 

Anhänge

  • uploadfromtaptalk1428175204811.jpg
    uploadfromtaptalk1428175204811.jpg
    237,9 KB · Aufrufe: 6
Werbung:
Erst mal eine nicht so umständliche Version:
PHP:
<?php
    include './inc/db_con.php';
    $query = "Select
                  `VIS_IP`
                from
                  `visitors`
                where
                  `VIS_IP`='$ip'";
              
    $result = mysqli_query($db, $query)
         or die ("MySQL-Error: " . mysqli_error($db));
     
    if (mysqli_num_rows($result))
    {
        $query = "Update
                     `visitors`
                    set
                     `VIS_ACCESS`= `VIS_ACCESS`+1
                    where
                     `VIS_IP`='$ip'";
    }
    else
    {
       $query = "Insert
                    into
                     `visitors`
                    set
                     `VIS_ACCESS`= 1,
                     `VIS_IP`='$ip'";
    }

    mysqli_query($db, $query)
         or die ("MySQL-Error: " . mysqli_error($db));

    mysqli_close($db);
?>
Ansonsten sehe ich nicht, warum um 2 erhöht werden sollte. Wobei sich mir die Frage stellt, warum überhaupt beim aktualisieren erhöht werden sollte. Das solltest du unterbinden.
 
Werbung:
Wie gesagt, erst mal drum kümmern, dass bei aktualisieren nicht erhöht wird. Das kannst du per Session, Cookie oder zusätzlichem Speichern in der DB lösen.
 
Werbung:
Ich kenne diesen Artikel, aber wie dort schon geschrieben, ist es das "niedrigste" Gericht.

Wie soll man sonst die Besucher zählen? Mac Adresse fällt aus, sonst fällt mir gerade spontan nichts ein, womit man Besucher eindeutig identifizieren kann...
 
IP-Adressen geben dir auch keine Sicherheit. Benutzer im selben Netzwerk wären für dich ein Benutzer. IP-Adressen ändern sich auch bei DSL, also wieder keine Sicherheit. Cookies könnten da helfen, aber auch da gibt es keine 100% Sicherheit. Vom Prinzip her sind Besucherzähler nur ein Gimmik, aber ohne echte Relevanz.
 
IP-Adressen geben dir auch keine Sicherheit. Benutzer im selben Netzwerk wären für dich ein Benutzer. IP-Adressen ändern sich auch bei DSL, also wieder keine Sicherheit. Cookies könnten da helfen, aber auch da gibt es keine 100% Sicherheit. Vom Prinzip her sind Besucherzähler nur ein Gimmik, aber ohne echte Relevanz.

Dennoch möchte ich gerne wissen, wie viele Leute sich alles so auf der Website rumtreiben... Ich bleibe bei der IP Adresse.
 
Werbung:
Hallo,

also das mit der IP ist durch, auch aktueller, die darf nicht ganz gespeichert werden ausser bei Vertragsdingen da ist es kurzzeitig erlaubt.
Was stört an PIWIK und Analytics und co.? da kannst wenigstens mit den Daten was anfangen, IP und view hat doch null ausage oder?

zb 100 IP mit +/- 1 view mit lustigen referer was die lieben Russen ja gerne machen, zersteurt deine rumtummel daten vollkommen.

Cheffchen
 
Hallo,

also das mit der IP ist durch, auch aktueller, die darf nicht ganz gespeichert werden ausser bei Vertragsdingen da ist es kurzzeitig erlaubt.
Was stört an PIWIK und Analytics und co.? da kannst wenigstens mit den Daten was anfangen, IP und view hat doch null ausage oder?

zb 100 IP mit +/- 1 view mit lustigen referer was die lieben Russen ja gerne machen, zersteurt deine rumtummel daten vollkommen.

Cheffchen
Danke, werde mich mal genauer mit Google Analytics und co. befassen. Habe ich bis jetzt noch nicht benutzt.
 
Werbung:
Zurück
Oben