Mein Counter funst net so richtig!

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Mein Counter funst net so richtig!

    Hallo,

    ich habe einen Counter dessen SQL so aufgebaut ist:

    --
    -- Tabellenstruktur für Tabelle `counter`
    --

    CREATE TABLE `counter` (
    `id` int(11) NOT NULL auto_increment,
    `counter` varchar(10) collate latin1_german2_ci NOT NULL default '',
    `ip` varchar(50) collate latin1_german2_ci NOT NULL default '',
    PRIMARY KEY (`id`)
    ) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=latin1 COLLATE=latin1_german2_ci AUTO_INCREMENT=2 ;

    Hier der PHP Teil:
    PHP-Code:
    $db=mysql_connect ("*******","*******","*******"); 
    mysql_select_db ("*******"$db);

        
    $resultmysql_fetch_objectmysql_query("select * from counter where id='1'",$db)); 

    if(
    $result->ip != $REMOTE_ADDR

    $newcounter= ++$result->counter
     
    mysql_query("UPDATE counter SET counter='$newcounter',
    ip='
    $REMOTE_ADDR' WHERE id='1'",$db); 

    Ich habe mal versucht in dieser zeile:
    PHP-Code:
    mysql_query("UPDATE counter SET counter='$newcounter', 
    das hier einzufügen:
    PHP-Code:
    mysql_query("INSERT INTO counter SET counter='$newcounter', 
    Aber was stelle ich in der sql um damit alle eingetragen werden?

    Und was noch komisch ist, ist das der Counter immer Zwei weiterzählt!
    Woran liegt das ?

  • #2
    if($result->ip != $REMOTE_ADDR)...
    gibt es schon mal nicht... Wenn dann heißt es $_SERVER['REMOTE_ADDR']
    "I am what I am and I do what I can..."
    Meine HP -- Mein GPG-Key
    Meine Projekte: WebStorage 2.0 -- easyAJAX-Chat 2.2.0 (beta)

    Kommentar


    • #3
      Original geschrieben von nOe
      gibt es schon mal nicht... Wenn dann heißt es $_SERVER['REMOTE_ADDR']
      Warum gibt es das nicht? Es funst doch aber so!
      Du meinst ich sollte das:
      PHP-Code:
      $_SERVER['REMOTE_ADDR'
      benutzen?

      Hm ich versuch es mal

      Kommentar


      • #4
        Moment mal, die IP-Adressen müsste du in eine separate Tabelle auslagern, denn ansonsten wird derselbe User innerhalb kürzester Zeit, nachdem eine andere Ip gezählt wurde, abermals gezählt.

        PHP-Code:
        $query mysql_query("select * from counter where id='1'",$db);
        $result mysql_fetch_array($query ); 

        if(
        $result["ip"] != $SERVER["REMOTE_ADDR"]) 

          
        $result["counter"]++;

          
        // in DB eintragen

        So sollte das Script zumindest vernünftig zählen.

        Anmerkung: $REMOTE_ADDR funktioniert glaube ich nur, wenn Register_Globals aktiviert ist, in jedem Fall aber ist es deprecated und wird aufgrunddessen eines Tages nicht mehr funktionieren.
        Zuletzt geändert von Crake; 11.11.2006, 12:52.
        [COLOR=red]Gesellschaftsforum.net[/COLOR] - Projekt zur Wiederbelebung der Diskussionskultur im Internet
        [COLOR=orange]1st News[/COLOR] - Das Newsletterscript für den professionellen Einsatz

        Kommentar


        • #5
          Also wenn ich bei meinen Seiten $REMOTE_ADDR eingebe, gibt der nichts aus... Es sei denn du hast vorher $REMOTE_ADDR den Wert $_SERVER['REMOTE_ADDR'] zugewiesen...

          Das würde allerdings nicht aus deinen geposteten Quältext herausgehen...

          mfg ich
          "I am what I am and I do what I can..."
          Meine HP -- Mein GPG-Key
          Meine Projekte: WebStorage 2.0 -- easyAJAX-Chat 2.2.0 (beta)

          Kommentar

          Lädt...
          X