Ankündigung

Einklappen
Keine Ankündigung bisher.

User auf Status prüfen, in Bezug auf Registrierungsdatum

Einklappen

Neue Werbung 2019

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

  • User auf Status prüfen, in Bezug auf Registrierungsdatum

    Hallo,

    ich habe ein Frage und hoffe hier kann mir jemand weiterhelfen.

    Bei meinem vorhanden und fertig gestellten Loginscript werden, sobald sich ein Nutzer anmeldet, diverse Angaben (unter anderem auch der Zeitpunkt der Registrierung) in einer MySQL-Datenbank abgespeichert. Nun sollte es so sein, dass sobald sich ein registrierter User einloggt, geprüft wird, wie viele Tage vergangen sind seit der Registrierung und somit welches Level der User erreicht hat (Cronjob ist meiner Meinung nach nicht nötig, da man das denke ich bei einem Login mit durchlaufen lassen kann).

    Hintergrund: Es geht um eine Seite, auf der registrierte User Files downloaden können. Hat der User nun den Status 1 = Level 1 (bedeutet er ist seit 0-7 Tagen registriert) hat er in seinem Bereich einen Downloadlink (ID 1, erster Link in der Tabelle), bei Status 2 = Level 2 (bis 14 registriert) zwei Downloadlinks (ID 1 und ID 2), bei Level 3 also bis 21 Tage die ersten 3 Links, usw. zur Auswahl.

    Wobei ich jetzt Probleme habe, dass ich nicht weiß wie ich an die Sache ran gehen soll. Ich habe dafür 2 Tabellen erstellt, einmal die Usertabelle und die Tabelle, in der die Downloadlinks eingetragen sind (Linktabelle).

    In der Usertabelle würde ich nun eine Spalte einfügen, in der der Status (bzw. Level) bei einem Login des Users eingetragen wird, z.B. 2 (= registriert seit z.B. 13 Tagen, bis max. 14 Tage). Dieser User würde dann in seinem Downloadbereich Link 1 und 2 (die ersten beiden Links aus der Linktabelle) angezeigt bekommen.

    Ich bekomme nun die Verbindung der zwei Tabellen, sowie die Prüfung auf den Status des Users nicht hin, bzw. die Verbindung würde ich denke ich schon hinbekommen mit der entsprechenden MySQL-Abfrage aber das Hauptproblem ist die Prüfung des Levels.

    Da ich Anfänger in Sachen PHP/MySQL bin, wird's jetzt langsam zu komplex für mich. Evtl gehe ich aber auch viel zu umständlich an die Sache ran?

    Vielleicht kann mir hier jemand von den Profis einen Denkanstoß geben, oder sonst einen Tipp/Link der mir weiterhilft. Bin für alles dankbar

    Vielen Dank.

    Grüße
    embli


  • #2
    Hi,
    wenn ich dich richtig verstanden habe, würde ich das mit cronjobs machen.
    Also das R-Datum speichern und dann prüfen, wie viele Tage das her ist und dann dem User anderes Level zuweisen.

    LG Sonic

    Kommentar


    • #3
      Wofür überhaupt ein "Level"? Wenn du die Links anzeigst kannst du doch direkt aufs Datum prüfen, da brauchst du nicht den Umweg über die Level.

      if (datum <= 7 tage) ... erster link
      if (datum <= 14 tage) ... zweiter link

      Kommentar


      • #4
        Hallo,

        @Sonic Ob ich das jetzt mit Cronjob mache oder nicht, werde ich mir noch überlegen, da der User aber sowieso nur aauf die Links zugreifen kann, soblad dieser sich eingelogt hat, wäre es ein Leichtes dieses bei dem Loginvorgang zu prüfen.

        @Flor1an Stimmt das könnte ich auch direkt bei der Anzeige ausgeben, nur dachte ich mir viell dass es ein eleganterer Weg wäre, wenn man den Usern ein Level zuordnet. Evtl ist das für zukünftige Erweiterungen noch sinnvoll.

        Die Frage ist jetzt nur, wie kann ich das verkürzen? Ich müsste ja jetzt um ein Jahr abzudecken 48 (7, 14, 21, 28 = 1 Monat) if else Zeilen schreiben.

        Oder sehe ich das falsch?

        Muss ich mal suchen, ob ich was finde.

        Danke euch erst einmal.

        Kommentar


        • #5
          Also das ist dann die einzige Möglichkeit das Problem zu lösen?

          if (datum <= 7) ... SELECT ... Link1
          elseif (datum <= 14) ... SELECT ... Link1 + Link2
          elseif (datum <= 21) ... SELECT ... Link1 + Link2 + Link3
          usw.

          Bei einem Jahr wären das ja schon ca. 48 "wenns"

          Gibts da vielleicht irgend etwas in PHP um einen Intervall zu definieren oder ähnliches, damit das nicht so ausufert?

          Danke.

          Kommentar

          Lädt...
          X