Häufungspunkte ermitteln

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

  • Häufungspunkte ermitteln

    Hallo ich bin neu hier und noch ein blutiger PHP Anfänger. Habe hier schon einiges Nützliches gelesen und hoffe das bei meinem Problem mir auch geholfen werden kann.

    Ich erzeuge beim Login auf meiner HP Timestamps der User und logge auch die IP-Adresse. Mein Ziel ist es bestimmte Häufungspunkte bei Logins herauszufiltern und das auch nur für bestimmte IP-Bereiche. Die Daten werden zur Zeit in einer ; getrennten Liste gespeichert (bewusst nicht in einer DB).

    Form : Username;127.0.0.1;1260438864

    Also wenn am 10.12.2009 zwischen 15:00 Uhr und 15:10 Uhr gehäuft logins versch. User aus bestimmten IP Bereichen stattfinden will ich diese User aus dieser Liste exportieren und auf einer HTML Seite anzeigen lassen. Vielleicht hat PHP ja schon eine fertige Funktion aber leider habe ich sie noch nicht gefunden.

    Über Ideen und Lösungsansätze würde ich mich sehr freuen

  • #2
    Hallo,

    hier erstmal etwas Lesestoff
    PHP: fgetcsv - Manual
    PHP: Datum/Uhrzeit Funktionen - Manual

    und für die IP-Adresse PHP: String-Funktionen - Manual

    Gruß,

    Amica
    [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
    Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
    Super, danke!
    [/COLOR]

    Kommentar


    • #3
      Hallo Amica,

      Vielen Dank für das rasche Antwortschreiben und die Links
      Leider ist bei den fertigen Funktionen nichts dabei was mir weiterhilft. Ich bräuchte eher wohl einen Stupser in richtung des Algorithmus den ich anwenden sollte um das genannte Ziel zu erreichen. Meine Liste mit Timestamps erzeuge ich ja schon,...nur die Auswertung macht probleme

      LG
      Bruce

      Kommentar


      • #4
        Mit den Datumsfunktionen kannst du z. B. Stunde und Minute extrahieren, also sollte dir das schon weiterhelfen (siehe date()). Dann musst du eine für dich sinnvolle Granularität finden und die erhaltenen Werte einteilen (Arrays sind dafür sicher keine schlechte Wahl). Genug stups?
        [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
        Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
        Super, danke!
        [/COLOR]

        Kommentar


        • #5
          Der Stupser war auch mehr in Richtung "Wie kann ich die Daten auslesen". Das verarbeiten kommt erst als nächstes. Leider bringt PHP keine Funktion namen "mach_was_ich_will()" mit (glaub mir, die hätte ich selbst gerne) –*schon gar nicht bei einem solchen speziellen Wunsch.

          Ich würde mich dahingehend an die Arbeit machen, dass ich zu aller erst einmal definiere, was "gehäuft" bedeutet & was du mit IP-Bereiche meinst.

          Bezüglich letzterem wirst du sicherlich fündig, wenn du mal ein wenig danach googles wie eine IP-Adresse aufgebaut ist, was Netze sind und wie man das ganze in Ranges setzt und mit PHP auswerten kann.

          Was deine Häufung angeht: Ohne konkrete Aussagen, was du damit meinst, ist das eher schwer, da Hilfestellung zu geben.
          [FONT="Helvetica"]twitter.com/unset[/FONT]

          Shitstorm Podcast – Wöchentliches Auskotzen

          Kommentar


          • #6
            Vielleicht vorab, realisieren will ich eine Anwesenheitskontrolle von angemeldeten Mitgliedern. Die Tücke besteht darin das ich die Termine nicht "Hardcoden" darf, da sie stark varieren. Also dachte ich mir, ich speichere ich zu jedem login mit
            "date('d.m.Y H:i')" Datum und Uhrzeit mache mit mktime() einen Timestamp daraus, erhalte die IP Adresse aus der der Login erfolgt mit "$REMOTE_ADDR" und speichere inklusive username das ganze in einer csv.

            Nun habe ich meine Liste mit den Infos die ich brauche. Da die Termine nicht fest sind soll Anhand der Userzahl die sich einloggt ermittelt werden ob dies ein möglicher festgestgesetzer Termin ist. Da die Teilnahme zu dem Termin nur aus dem Intranet erfolgen soll und Logins auf der Website von aussen nicht gewertet werden sollen, muss ich anhand der IP Überprüfen ob der Login aus dem Internen Netz erfolgt ist (der Teilnehmer ist physikalisch da).

            Mein Mindestmaß für Häufung definiert sich durch 30 oder mehr versch. Personen haben in einer Zeitspanne von 20 min angemeldet. Wird dieses Kriterium erfüllt gehe ich davon aus das zu dem genannten Zeitpunkt ein Termin existierte und markiere die eingeloggten als anwesend und nach abgleich mit den user Bestand der angemeldeten user die fehlenden als fehlend und mache eine entsprechende Ausgabe. Alle zu die zu Spät gekommen sind also nach 20 min nach offiziellen beginn sollen nicht berücksichtigt werden. Alle die sich von einer anderen IP als 192.168.2.XXX angemeldet haben werden auch nicht berücksichtigt.

            Klingt wohl alles komplizierter als es eigentlich ist

            Kommentar

            Lädt...
            X