Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 18

Thema: Noch was falsch ;(

  1. #1
    Youngster
    Registriert seit
    12.01.2007
    Beiträge
    17
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard Noch was falsch ;(

    Hallo ich versuche gerade einen counter mit ip sperre
    das ist der text für den counter
    Code:
    <?
    include&#40;"inc/mysql.php"&#41;;
    $datei_name = "counter1.txt";
    if &#40;!file_exists&#40;$datei_name&#41;&#41; &#123;
    $dz = fopen&#40;$datei_name, "W"&#41;;
    fwrite&#40;$dz,"1"&#41;;
    fclose&#40;$dz&#41;;
    &#125;
    $dz = fopen&#40;$datei_name,"r"&#41;;
    $counter = fread&#40;$dz, 10&#41;;
    fclose&#40;$dz&#41;;
    $counter++;
    $dz = fopen&#40;$datei_name, "w"&#41;;
    fwrite&#40;$dz, $counter&#41;;
    fclose&#40;$dz&#41;;
    include&#40;"inc/mysql.php"&#41;;
    ?>
    <body>
    <h2>Guten Tag,</h2>
    diese Seite wurde jetzt zum <?=$counter;?>. Mal aufgerufen.
    </body>
    und das hab ich auf meiner mysql die zur datenbank geht.
    Code:
    <?php
    $host = "localhost";
    $user = "nama";
    $pass = "p.w.";
    $database = "name_datenbank";
    $dz = mysql_connect&#40;$host, $user, $pass&#41;;
    mysql_select_db&#40;$database, $dz&#41;;
    ?>
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    König(in)
    Registriert seit
    03.07.2004
    Ort
    Rosenheim
    Beiträge
    1.024
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    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ä?

  3. #3
    Youngster
    Themenstarter

    Registriert seit
    12.01.2007
    Beiträge
    17
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    ups sorry hab ich vergessen
    also mein Problem ist das alles geht ja aber ohne ip sperre das heißt ich klick drauf 20 nochmall 21 usw....

  4. #4
    König(in)
    Registriert seit
    03.07.2004
    Ort
    Rosenheim
    Beiträge
    1.024
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    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

  5. #5
    Youngster
    Themenstarter

    Registriert seit
    12.01.2007
    Beiträge
    17
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    aha und wie macht man das mein php buch ist sehr alt und da steht nicht alles drin ich kauf mir bald ein neues.

  6. #6
    König(in)
    Registriert seit
    03.07.2004
    Ort
    Rosenheim
    Beiträge
    1.024
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    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` &#40;
      `id` int&#40;10&#41; NOT NULL auto_increment,
      `time` varchar&#40;80&#41; NOT NULL default '',
      `ip` varchar&#40;80&#41; NOT NULL default '',
      `host` varchar&#40;80&#41; NOT NULL default '',
      `browser` varchar&#40;80&#41; NOT NULL default '',
      KEY `id` &#40;`id`&#41;
    &#41;
    Dann ne Verbindung etc. mit eintragung erstellen:
    Code:
    <?
    
    // PHP Code
    
    // Variablen definieren&#58;
    define&#40;"sqlhost", "localhost"&#41;; 
    define&#40;"sqluser", "deinUser"&#41;;
    define&#40;"sqlpass", "deinPW"&#41;;
    define&#40;"sqldb", "deineDB"&#41;;
    define&#40;"sqltable", "counter"&#41;;
    
    // Funktion für den Counter&#58;
    function phpcounter&#40;&#41; &#123;
    
    // Zeit bestimmen
    $time = time&#40;&#41;;
    // IP Adresse bestimmen
    $ip = getenv&#40;REMOTE_ADDR&#41;;
    // Host bestimmen
    $host = gethostbyaddr&#40;getenv&#40;REMOTE_ADDR&#41;&#41;;
    // Browser bestimmen
    $browser = getenv&#40;HTTP_USER_AGENT&#41;;
    
    // Verbindung überprüfen
    $verbindung = @mysql_connect&#40;sqlhost,sqluser,sqlpass&#41;;
    
       	if &#40;!$verbindung&#41; &#123;
    		echo "Verbindung zur Datenbank war nicht möglich!\n";
    		exit;
    	&#125;
    
    $abfrage = "SELECT * FROM " . sqltable . " WHERE ip='$ip' ORDER BY id DESC";
    $ergebnis = mysql_db_query&#40;sqldb,$abfrage,$verbindung&#41;;
    
    while &#40;$zeile = $ergebnis->fetch_object&#40;&#41;&#41; &#123;
      if&#40;$zeile->id > ""&#41; &#123;
    	// IP vorhanden
        &#125; else &#123;
           // IP nicht vorhanden
           // dann auch eintragen
           $daten = "INSERT INTO " . sqltable . " &#40;time,ip,host,browser&#41; VALUES &#40;'$time','$ip','$host','$browser'&#41;";
           $result = mysql_query&#40;$daten,$verbindung&#41;;
           mysql_close&#40;$verbindung&#41;;
    
           // Im Textfile deinen Eintrag hochsetzen
      &#125;
    &#125;
    
    ?>
    Aufrufen der Funktion dann ungefähr so:
    Code:
    <?php
    
    include&#40;"pfad/zu/deinercounterdate.php"&#41;;
    phpcounter&#40;&#41;;
    
    ?>
    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

  7. #7
    Youngster
    Themenstarter

    Registriert seit
    12.01.2007
    Beiträge
    17
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    öhm... joa danke
    aber da kommt ein fehler
    http://sebi.maxinet.de/test3.php zeile 49 das ist aber ?>
    das kapier ich ihrgendwie ned.

  8. #8
    König(in)
    Registriert seit
    03.07.2004
    Ort
    Rosenheim
    Beiträge
    1.024
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    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.

  9. #9
    Youngster
    Themenstarter

    Registriert seit
    12.01.2007
    Beiträge
    17
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Code:
    <?php
    
    // PHP Code
    
    // Variablen definieren&#58;
    define&#40;"sqlhost", "localhost"&#41;;
    define&#40;"sqluser", "deinUser"&#41;;
    define&#40;"sqlpass", "deinPW"&#41;;
    define&#40;"sqldb", "deineDB"&#41;;
    define&#40;"sqltable", "counter"&#41;;
    
    // Funktion für den Counter&#58;
    function phpcounter&#40;&#41; &#123;
    
    // Zeit bestimmen
    $time = time&#40;&#41;;
    // IP Adresse bestimmen
    $ip = getenv&#40;REMOTE_ADDR&#41;;
    // Host bestimmen
    $host = gethostbyaddr&#40;getenv&#40;REMOTE_ADDR&#41;&#41;;
    // Browser bestimmen
    $browser = getenv&#40;HTTP_USER_AGENT&#41;;
    
    // Verbindung überprüfen
    $verbindung = @mysql_connect&#40;sqlhost,sqluser,sqlpass&#41;;
    
          if &#40;!$verbindung&#41; &#123;
          echo "Verbindung zur Datenbank war nicht möglich!\n";
          exit;
       &#125;
    
    $abfrage = "SELECT * FROM " . sqltable . " WHERE ip='$ip' ORDER BY id DESC";
    $ergebnis = mysql_db_query&#40;sqldb,$abfrage,$verbindung&#41;;
    
    while &#40;$zeile = $ergebnis->fetch_object&#40;&#41;&#41; &#123;
      if&#40;$zeile->id > ""&#41; &#123;
       // IP vorhanden
        &#125; else &#123;
           // IP nicht vorhanden
           // dann auch eintragen
           $daten = "INSERT INTO " . sqltable . " &#40;time,ip,host,browser&#41; VALUES &#40;'$time','$ip','$host','$browser'&#41;";
           $result = mysql_query&#40;$daten,$verbindung&#41;;
           mysql_close&#40;$verbindung&#41;;
    
           // Im Textfile deinen Eintrag hochsetzen
      &#125;
    &#125;
    
    ?>
    da

  10. #10
    König(in)
    Registriert seit
    03.07.2004
    Ort
    Rosenheim
    Beiträge
    1.024
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    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 &#40;$zeile = mysql_fetch_object&#40;$ergebnis&#41;&#41; &#123;
    Habs grad auf meinem Server getestet. Funktioniert.

Ähnliche Themen

  1. Was ist falsch
    Von JJAANN im Forum HTML & CSS Forum
    Antworten: 4
    Letzter Beitrag: 04.03.2008, 20:34
  2. was ist da falsch ?
    Von im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 1
    Letzter Beitrag: 24.09.2007, 17:59
  3. was ist hier falsch?
    Von Greg10 im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 14
    Letzter Beitrag: 23.08.2007, 17:57
  4. Was ist da falsch?
    Von Skydaphir im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 1
    Letzter Beitrag: 26.05.2006, 20:33
  5. was läuft falsch
    Von ::RMB:: im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 9
    Letzter Beitrag: 15.07.2005, 10:00

Stichworte

Berechtigungen

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