Kundenportal php/mysql

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

  • Kundenportal php/mysql

    Hi Leute!

    Ich habe vor ein Kundenportal zu bauen, das Design und den Login habe ich bereits local (in 3 frames) fertig. Folgender Gedankengang:
    Der Kunde soll sich einloggen können und anhand seiner KDN soll er identifiziert und sein Menü ausgelesen werden. Sprich wenn soch Client1 mit usr und pwd Client1 und Kdn 1 einloggt soll er in der folgenden Datei die ich checkuser_persimission genannt habe prüfen wie sein Menü auszusehen hat.

    Mein Lösungsansatz war das wenn der Kunde sich einloggt man überprüft mit welcher Kdn und mit welchem Usernamen er sich eingeloggt hat und das ganze ueber ne IF- Anweisung machn lässt. Bsp, wenn Client1 sich einloggt mit der KDN1 und dem Namen CLient 1 könnte man das Menü über echo ausgeben lassen nur das Problem, Bei über hundert Datenbank einträgen würden das ziemlich viele If schleifen werden und in der navigation.php würden es ebenfalls zuviele werden. ! Die Inhalte des menüs was anhand der Kundennummer erstellt wird soll auch aus der Datenbank geholt werden nur so zur info D.h doch, nach jedem für den Kunden dargestellten Menü link müsste ein mysql querry zur db ausgeführt werden.

    Nun die Frage :

    Kann mir jmd helfen dieses möglichst gut umzusetzen oder bei nem Lösungsansatz helfen ? ( Nach dem Login, --> überprüfung mit welchem usr namen und mit welcher KDN er sich eingeloggt hat, anhand dessen Menü erzeugen , das bei Link betätigung bsp test den dbinhalt für den Kunden (individuell) test auswählt. Über kleine Bsp COdes oder anderes währe ich sehr dankbar hoffe mal das ich hier ein kompetentes Forum gefunden habe besser als die mit denen ich schon Erfahrung gemacht habe Wotan oder TBT, sind mir bisher sehr hilfsbereit aufgefallen ))

    danke alex
    *wart gg*
    Zuletzt geändert von gfx-freak; 21.11.2002, 08:58.
    $adVanCEd

  • #2
    Danke erstmal für das Lob. Aber leider kan ich dir bei dem Problem nicht ganz folgen. Ich stehe noch auf dem Schlauch was du machen willst.
    *winks*
    Gilbert
    ------------------------------------------------
    Hilfe für eine Vielzahl von Problemen!!!
    http://www.1st-rootserver.de/

    Kommentar


    • #3
      Du kannst nach dem erfolgreichen login eine sessionvariable mit dem menu belegen anhand der Du dannimmer das Menu strickst. Ich denke mal es gibt nicht für jeden User ein Menu.
      Beantworte nie Threads mit mehr als 15 followups...
      Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

      Kommentar


      • #4
        da für die User ja schon eine Tabelle existiert, kannst du dort ja eine zusätzliche spalte anlegen (menuID) dort schreibst du als Fremdschlüssel den Primärschlüssel aus einer anderen tabelle, der den Menüaufbau enthält.

        Die 2. tabelle enthält folgendes:
        ID (auto-increment)
        Menueteil1...
        Menueteil2...

        jetzt kannst du immer durch 1 oder 0 entscheiden, ob der teil des menüteils angezeigt werden soll.
        So kannst du das Menü sogar für jeden User individuel gestalten!

        gruss

        Kommentar


        • #5
          1. Eine Datenbanktable mit folgenden Feldern :
          ID // die eindeutige ID jedes Kunden
          KND // die Kundennummer mit der er sich einlogt
          Passwort // Passwort halt..

          2. Eine Datenbanktable mit folgenden Feldern :
          ID // die eindeutige ID jedes Kunden
          OPTION1 // Die erste Menuoption ( 0 oder 1)
          OPTION2 // usw..

          3. Datenbankquery mit KND und Passwort an Table1 => Rückgabe ID

          4. Datenbankquery mit ID an Table2 => Rückgabe alle Optionen

          5. Die Ergebnisse der Query in eine Array packen ( mysql_fetch_row )

          6. Mit einer Schleife und einer If anweisung pro Schleifendurchlauf Arrayeinträge abfragen

          Problem : wenn du wirklich für jeden User ein eigenes Menü erzeugen willst ist das sehr ineffizent. Das einzige was man machen könnte ist ein Standardmenu zu erzeugen und dem User die Möglichkeit geben einzelne Einträge auszublenden.

          Kommentar


          • #6
            strucktur

            Erstmal danke für die Ideen und die schnellen Antworten!
            Zu der Strucktur damit ihr es besser versteht, nachdem der User eingeloggt ist existiert bereits eine Session die ich user_intern genannt habe, anhand dieser wird geprüft ob der User eingeloggt ist oder nicht ..
            Zu der Tabellen strucktur, die tabelle heisst users und ist folgendermasßen eingeteilt ( ziemlich easy ;p ) :

            #Dump:

            CREATE TABLE `users` (
            `kdn` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
            `usr` VARCHAR( 30 ) NOT NULL ,
            `pwd` VARCHAR( 30 ) NOT NULL
            );

            DIe Session wird also im localen Ordner gespeichert nicht inner DB.
            Wäre perfekt wenn wir ganz struckuriert anfangen würden, also am besten damit, nehmen wir mal an der User ist nun eingeloggt und die Session exestiert:

            session_start ();
            if ((session_is_registered ("user_intern")) AND ($user_intern))
            {

            so befindet er sich nun auf der Seite die im 2ten frame sich befindet namens bsp adminuser.php .

            Nun soll anhand einer Datei namens checkuser_persimission geprüft werden (die in der adminuser) includet ist,
            wer sich eingeloggt hat und mit welcher kdn, das menü kommt erst später.
            Wie würdet ihr diese Überprüfung realisieren, mit einer If schleife ? Wird das nicht zu unübersichtlich z.B ab 25 Usern ?
            Nenn beispiel wäre nice ;/
            Zuletzt geändert von gfx-freak; 21.11.2002, 10:24.
            $adVanCEd

            Kommentar


            • #7
              Andere Lösung wäre :
              // erstellt für wirklich für jeden User ein eigenes Menu

              1. Eine Datenbanktable mit folgenden Feldern :
              ID // die eindeutige ID jedes Kunden
              KND // die Kundennummer mit der er sich einlogt
              Passwort // Passwort halt..

              2. Eine Datenbanktable mit folgenden Feldern :
              LINK_ID // die eindeutige ID jedes Linkes
              Text // der String des Menueintrages
              Link // die relative (oder absolute) Verlinkung des Menulinks

              3. Eine Datenbanktable mit folgenden Feldern :
              ID // die ID eines Kunden (nit unique)
              LINK_ID // die ID eines Linkes

              3. Datenbankquery mit KND und Passwort an Table1 => Rückgabe ID

              4. Datenbankquery mit ID an Table3 (select LINK_ID from blah WHERE $ID (die von query1) = ID => Rückgabe aller Link_ID

              5. Die Ergebnisse der Query in eine Array packen ( mysql_fetch_row )
              (möglicherweise noch sortieren)

              6. Mit einer Schleife und einer If anweisung pro Schleifendurchlauf Arrayeinträge abfragen

              7. Datenbankquery mit ID an Table 2 => Rückgabe Text und Link

              8. anhängen des Linkes an den Navigations HTML String.

              Kommentar


              • #8
                Re: strucktur

                Original geschrieben von gfx-freak
                Nun soll anhand einer Datei namens checkuser_persimission geprüft werden (die in der adminuser) includet ist, wer sich eingeloggt hat und mit welcher kdn, das menü kommt erst später.Nenn beispiel wäre nice ;/
                Ähm.. die KDN ist doch eindeutig..
                du fragst per Formular die variable $usr und $pwd ab
                und machst eine Selectanweisung

                SELECT KDN from Tablename WHERE $usr = usr AND $pwd = pwd
                (vorsicht bei doppelten usernames.. möglichst unterbinden)
                wenn das ergebnis 0 affected row hatte existiert der User nicht oder das Passwort war falsch.

                Dann hast du die KDN und speicherst sie in einer Sessionvariable. Schon kannst du im Laufe der Session den User eindeutig identifizieren.

                Kommentar


                • #9
                  Re: Kundenportal php/mysql

                  Original geschrieben von gfx-freak
                  Sprich wenn soch Client1 mit usr und pwd Client1 und Kdn 1 einloggt
                  Der User logt sich ohne die KDN ein ! Die KDN ist eine eindeutige ID.. nur für die Datenbank wichtig.

                  Kommentar


                  • #10
                    RE: Kundenportal php/mysql

                    Okay danke !

                    die Idee , also die Strucktur ist gut gedacht von dir Kineko ich hab nun meine db tables erstellt und versuche mal nach dem Prizip vorzugehen weitere Beispiele bzw Codes wären super.!
                    Zuletzt geändert von gfx-freak; 22.11.2002, 07:45.
                    $adVanCEd

                    Kommentar


                    • #11
                      ..

                      Okay danke !

                      die Idee , also die Strucktur ist gut gedacht von dir Kineko ich hab nun meine db tables erstellt und versuche mal nach dem Prizip vorzugehen weitere Beispiele bzw Codes wären super.!

                      keiner der hilft

                      Zuletzt geändert von gfx-freak; 22.11.2002, 07:46.
                      $adVanCEd

                      Kommentar

                      Lädt...
                      X