Counter

Dieses Thema im Forum "Webentwicklung" wurde erstellt von JuTzI666, 18. Dezember 2005 .

Schlagworte:
Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 18. Dezember 2005
    also hab hier n code...

    doch wie kann ich das machen, damit nicht bei jeder aktualisierung oder beim senden vom daten, die anzahl um 1 steigt?

    thx 10 für jede brauchbare antwort...

    PHP:
    <? php
    $File 
    fopen ( "counter.txt" "r+" ); 
    $user  fread ( $File filesize ( "counter.txt" )); 
    $user ++;
    rewind ( $File );
    fwrite ( $File $user ); 
    fclose ( $File );
    echo 
    " $user " ;

    ?>
     
  2. 18. Dezember 2005
    Ich kann dir zwar nicht sagen wie, aber ich denke dass es möglich ist, dass IP-bedingt gezählt wird. Wie bei einem gästebuch-scrypt wo man nur einen eintrag pro stunde vornehmen darf. Da wird auch die IP geloggt und derjenige für eine stunde gesperrt der die IP hat.

    GreetZ, ~Br4inP4in~
     
  3. 19. Dezember 2005
    ja in dieser art habe ich mir das auch vorgestellt...

    ich probiere es mal aus...aber wäre froh wenn jemand das gerade wüsste, mir n code geben könnte...


    thx
     
  4. 19. Dezember 2005
    IP abfragen und gucken ob diese innerhalb der letzten stunde in der datenbank existiert, wenn ja, counter nicht erhöhen, wenn nein, dann counter erhöhen.

    danach ip mit uhrzeit in die datenbank schreiben.

    anstatt der datenbank kannste auch ne textdatei nehmen. mit datenbank allerdings wesentlich leichter würd ich sagen.
     
  5. 19. Dezember 2005
    also ich würde das ganze eh auf mysql machen
    oder willst du es unbedingt auf txt dateien ?
     
  6. 19. Dezember 2005
    ja also ich hätte auch gesagt über mysql...doch wie kann ich das coden??

    thx
     
  7. 19. Dezember 2005
    such einfach mal an den befehlen

    mysql connection => verbindungsdatei zur datenbank
    mysql insert => zum reinschreiben
    mysql select => zum raushoheln

     
  8. 19. Dezember 2005
    jo das weiss ich...doch wie kann ich das machen?

    also die connection hab ich und das select auch...

    doch das insert...kann man das so machen:

    PHP:
    if ( $submit )
    $sql  "INSERT INTO counter                
    (Id)
    dann:
    PHP:
    session_start  (); 

    include(
    "connect.php" );

    $sql  "SELECT "
        
    "Id, ip "
      
    "FROM "
        
    "counter "

    $result  mysql_query  ( $sql ); 

    if (
    mysql_num_rows  ( $result ) >  0

      
    $data  mysql_fetch_array  ( $result ); 

      
    $_SESSION [ "user_id" ] =  $data [ "Id" ]; 

    dann noch für die anzeige, wieviele mails gesendet wurden:

    PHP:
        <td width="210" height="18">Anzahl gesendete E-Mails</td>
        <td width="301"><span class="Stil4"><?php  echo  $_SESSION [ "user_id" ];  ?></span></td>
     
     
  9. 19. Dezember 2005
    wieso speicherst du es in sessions ab ?

    nimm normale variablen
    dazu guck dir mal ein richtigen insert und select befehl an

    du hast nur halbe teile genommen

    so schön wie es heißt

    es heißt copy and past nicht copy i dont understand
     
  10. 19. Dezember 2005
    hehe jo habe gedacht, wenn man es absendet, speicherts immer die nächste zahl kommt...

    wie kann ich das machen? hastmer da ne idee?

    thx
     
  11. 19. Dezember 2005
    ok, also erstmal, gute entscheidung mit der DB.

    ich schreib mal den Gedankengang auf, wenn Du dann noch Hilfe bei einzelnen Befehlen brauchst, sag Bescheid.

    - Mit Datenbank verbinden
    - IP des Client auslesen und aktuelle Zeit ermitteln
    - IPs und dazugehörige Zeiten aus der Datenbank auslesen
    - if(IP des Client bereits in der Datenbank UND die dazugehörige Zeit in der Datenbank weniger als 1 Stunde her)
    dann mache nix
    - else
    // also wenn die IP noch nicht ind er DB ist oder wenn die Zeit klänger als 1 Stunde her ist //

    schreibe Client IP und aktuelle Zeit in die Datenbank


    Der Counter braucht denn nur noch die Anzahl aller Einträge der DB ermitteln und als Besucherzahl ausgeben.

    Das wars eigentlich.

    Wenn du dass jetzt in PHP umsetzt sollte das laufen.
    ich bin übrigens kein Freund des Satzes, lieber gut geklaut als schlecht selber gemacht.
    Lern lieber php, anstatt code-fetzen zu kopieren.
    Mit php kann man viel machen.
     
  12. 19. Dezember 2005
    ich geb dir nur ein paar beispiele den rest musst du machen

    eintragen
    PHP:
    $sql  "INSERT INTO counter Set ip=' $ip '" ;
    mysql_query ( $sql ) OR DIE( mysql_error ());
    raushohlen

    PHP:
    $query  = "SELECT * FROM counter" ;
    $result  mysql_query ( $query ) OR DIE ( mysql_error ());
            WHILE(
    $array  mysql_fetch_array ( $result ))

    {
    $id = $array [ 'id' ]
    }
    und für die ip machst du es halt dann so:

    user kommt auf die homepage wenn die ip gleich ist wird das datum aktialisiert ist eine neue ip auf der seite die nicht in der datenbank ist wird sie gespeichert

    so dann machst du überall if abfragen

    1.wenn die ip gleich ist wie die in der datenbank nicht zählen
    2. 24stunden alte ips aus der db löschen
    3. wenn die ip nicht in der datenbank ist

    mit dem befehl update_sql $variable+1 machen
     
  13. 19. Dezember 2005
    PHP:
    if  update_sql $variable + 1
    else  $sql  "SELECT id FROM counter" ;
    hmm das stimmt ja wohl nicht...wie genau muss ich denn die if abfrage machen?

    also wenn die ip=+1 in der db ist, kann man keine mail mehr schreiben, wenn sie auf 0 ist, ist die zeit "60" abgeloffen...

    und wie mache ich das mit der zeit?

    PHP:
    if ???  Set Time = " $timestamp " ;

    $timestamp  time ();

     
  14. 19. Dezember 2005
    hm du hast kein bissen von php verstanden beweist du mir gerade in allen threads wo ich dir gehoflfen habe hast du immer nur copy and paste benutzt

    fang lieber nochmal an php zu lernen
    denn was du gerade da oben geschrieben hast lässt mich verrückt werden
     
  15. 19. Dezember 2005
    jo hehe...probiers einfach nochmal^^

    thx gleichwohl
     
  16. 19. Dezember 2005
    soll nicht böse gemeint sein

    nur es bringt dir nichts wenn ich dir jetzt ein counter code

    guck dir einfach nochmal die sql befehle an z.b. bei php.net

    und wenn du ein plan hast (theoretisch) und den etwas umsetzen kannst

    helfe ich dir gerne

    guck dir sonst einfach mal fertige simple counter an z.b. designnation da gibt es eine php section da erklärt einer wie man einen macht

    und nicht copy & i dont understand benutzen

    wenn du was nicht verstehst weißte ja => pn oder thread
     
  17. 19. Dezember 2005
    ja is schon easy...nehme nix böse...

    ja du hast recht mit copy & paste lerne ich nix...hab aber auchschon mit mysql gearbeitet^^

    vielen dank wenn ich wirklich nicht mehr weiterkomme, siests dann...

    thx

    ~~ClOsEd~~
     
  18. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.