• Hallo ich versuche gerade einen counter mit ip sperre
    das ist der text für den counter


    und das hab ich auf meiner mysql die zur datenbank geht.

    PHP
    <?php
    $host = "localhost";
    $user = "nama";
    $pass = "p.w.";
    $database = "name_datenbank";
    $dz = mysql_connect($host, $user, $pass);
    mysql_select_db($database, $dz);
    ?>
  • und was hast du nun für ein problem? Könntest du das mal etwas beschreiben?

    Was mich aber direkt stutzig macht ist dass du nirgends die IP aufnimmst, oder wegspeicherst, dass die gesperrt wird? hä?

  • ah, dann versteht man das doch direkt.
    Also ich hab gesehen du baust ne Verbindung zur DB auf, nun wäre es sinnvoll die IP mit Datum/Zeit in eine Tabelle zu schreiben. Dann kannst du bevor du den Counterstand hochzählst überprüfen ob die IP des User gleich mit der IP in der Tabelle ist und dann nicht hochzählen lassen.
    Datum/Zeit vlt dafür um evtl. die Sperre nach 60min oder so aufzuheben, kann man in vielen Varianten machen ;)

    mfg

  • Ahso,

    ok, dann schreib ich grad ma schnell paar Zeilen auf.
    Probier das ganze so:

    Zuerst in der DB ne Tabelle anlegen:

    Code
    CREATE TABLE `counter` (
      `id` int(10) NOT NULL auto_increment,
      `time` varchar(80) NOT NULL default '',
      `ip` varchar(80) NOT NULL default '',
      `host` varchar(80) NOT NULL default '',
      `browser` varchar(80) NOT NULL default '',
      KEY `id` (`id`)
    )

    Dann ne Verbindung etc. mit eintragung erstellen:

    Aufrufen der Funktion dann ungefähr so:

    PHP
    <?php
    
    
    include("pfad/zu/deinercounterdate.php");
    phpcounter();
    
    
    ?>


    Sollte so funktionieren ;).

    Natürlich wenn du jede IP im der DB speicherst dann brauchste auch kein Textfile sondern kannst einfach die Summe (count) aller DAtensätze der Tabelle counter auslesen und du hast deine Besucheranzahl.

    MfG

  • poste mal deine ganze test3.php Datei.

    Das würde ich mal interessieren.

    Tausche das erste <? mal durch ein <?php, hab das php da vergessen, aber ist eigentlich auch egal.

    Poste mal den Code der Datei.


  • da

  • Ich sehs :).
    es fehlt noch eine schließende geschweifte Klammer, die die funktion schließt ;).

    Außerdem muss die Zeile mit der Whiel schleife so heißen:

    Code
    while ($zeile = mysql_fetch_object($ergebnis)) {

    Habs grad auf meinem Server getestet. Funktioniert.

  • versuchs einfach mal mit dem code:

    Änder die Daten ab und teste es. Test auch mal ohne die While Schleife ob das eintragen überhaupt funktioniert.

    MfG

  • Dann schätze ich mal, dass du folgende Zeilen noch nicht angepasst hast:

    define("sqlhost", "localhost");
    define("sqluser", "deinUser");
    define("sqlpass", "deinPass");
    define("sqldb", "deineDB");
    define("sqltable", "counter");

  • das kannste so lassen,d as ist die Tabelle die die Datensätze enthalten soll, die Tabelle Counter halt.
    Wenn deine Daten OK sind sollte nicht der Fehler kommen "Keine Verbindung zur Datenbank"!!