Login script erweitern PHP/ nutzer-rechte/gruppen

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

  • Login script erweitern PHP/ nutzer-rechte/gruppen

    Hallo Liebe PHP Gemeinde,

    Ich könnte einen guten Tip gebrauchen wenn möglich.

    Ich habe ein Login Script, möchte es erweitern, so daß mehrere Gruppen eingerichtet werden können. z.B. gruppe1 sieht eine Seite, gruppe2 wird auf
    andere geschützte Seite weitergeleitet.

    Nun müsste ich wissen,
    welchen Befehl füge ich nach der Passwort Abfrage ein im Script, so daß
    die unterschiedlichen nutzer auf unterschiedliche seiten weitergeleitet werden.



    <?
    function login($fertig, $user, $password)
    {
    include("config.php");

    if ($fertig) {

    $abfrage = mysql_query ("SELECT * FROM login WHERE user = '$user'");
    $reihen = mysql_num_rows($abfrage);
    if ($reihen <= 0) {
    echo "Unbekannter Benutzername!";
    }
    else {
    while ($row = mysql_fetch_object ($abfrage)) {
    if ($row->password==$password) <<<<<<<<danach>>>>>>>>

    {
    inhalt($user);
    }
    else {
    echo "Falsches Passwort!";
    }
    }
    }

    }



    it der Datenbank habe ich keine Probleme, nur die Befehlszeile zur DB Abfrage


    Danke für Eure Zeit und Hilfe

  • #2
    Gruppenzugehörigkeit (normalisiert) in der Datenbank speichern und mit auslesen.
    Die Regeln | rtfm | register_globals | strings | SQL-Injections | [COLOR=silver][[/COLOR][COLOR=royalblue]–[/COLOR][COLOR=silver]][/COLOR]

    Kommentar


    • #3
      soweit war ich auch schon, es geht um den befehl um die DB auszulesen...

      Kommentar


      • #4
        Du machst noch zwei Tabellen. Eine für Gruppen und eine "Lookup"-Tabelle, die die Benutzer den Gruppen zuordnet.

        Dann liest du alles zusammen mit Joins aus.
        ich glaube

        Kommentar


        • #5
          ich wollte es eigentlich einfacher machen,

          z.B.

          der user wird registriert mit user und pass,
          und eine zahl 1 für gruppe 1.
          dann user und pass für gruppe 2, tabelleneintrag simpel 2.

          gruppe 1 wird weitergeleitet auf seite ###.php
          und gruppe 2 auf ###2.php.

          nun brauche ich den befehl im quellcode welcher die spalte gruppe ausliest und auf die jeweilige .php weiterleitet.

          die stelle ist markiert im quellcode nach passwortabfrage
          "<<<<<<<<<danach>>>>>>>"


          das ist was ich eigentlich machen möchte, da ich das script nicht komplett umbauen will, es ist schön klein und übersichtlich.

          Kommentar


          • #6
            Wenn jeder User nur in einer Gruppe sein kann brauchst du die Lookup-Tabelle nicht, sondern kannst die Gruppe so wie du sagst in die Usertabelle speichern.

            Ansonsten, wo ist denn das Problem?

            PHP-Code:
            switch ($row->group) {
                case 
            1:
                    
            // Was auch immer in Gruppe 1 passiert
                
            break;

                case 
            2:1
                    
            // Was auch immer in Gruppe 2 passiert
                
            break;


            usw...
            ich glaube

            Kommentar


            • #7
              ich probiere es mal mit switch, ich war mir nicht sicher wie ich es machen sollte und habe mich nur verfranzt,

              aber danke für die schnelle antwort, ich mache mich gleich mal drüber her.

              Kommentar


              • #8
                Und weiter gehts,

                habe das mit der switch funktion gemacht, schien auch erst zu laufen.
                Als ich jedoch nutzer registrieren wollte kam eine fehlermeldung.


                1)

                einrichten der DB...

                CREATE TABLE `login` (`id` TINYINT(10) UNSIGNED NOT NULL AUTO_INCREMENT, `user` VARCHAR(50) NOT NULL, `password` VARCHAR(100) NOT NULL, `email` VARCHAR(50) NOT NULL , `group`VARCHER(50) NOT NULL, PRIMARY KEY (`id`), INDEX (`id`), UNIQUE (`id`))


                `group`VARCHER(50) NOT NULL, habe ich eingefügt um neue tabelle zu erzeugen.


                Dann die variablen group im quellcode eingefügt und beim registrieren kommt folgende fehlermeldung.

                PHP-Code:
                if($fertig) {
                 
                $abfrage1 mysql_query("SELECT user FROM login");
                 while (
                $row mysql_fetch_object ($abfrage1)) { <<<<<hier-fehler>>>>>>>
                    if    (
                $row->user==$user) {
                    echo 
                "Dieser Benutzer existiert schon!";
                    exit;
                    }
                    }
                    if (
                $user=="" OR $password1=="" OR $password2=="" or $email=="") {
                    echo 
                "Sie haben mindestens ein Feld nicht ausgefüllt!";
                    }
                    else if (
                $password1!=$password2) {
                    echo 
                "Ihr Passwort ist ungleich Ihrer Wiederholung!";
                    }
                    else {    
                    
                $anfuegen=mysql_query("INSERT INTO login (user, password,
                email) VALUES ('
                $user','$password1', '$email')");    
                    echo 
                "Erfolgreich angemeldet! Sie können sich nun einloggen:<br>";
                    @
                login();    
                    }



                kann der server nicht mit umgehen
                Zuletzt geändert von cal333; 14.08.2007, 16:59.

                Kommentar


                • #9
                  folgende fehlermeldung.
                  Welche?

                  Dass der Spaltentyp erstens nicht VARCHER heißt und du zweitens die Tabelle nicht ganz neu anlegen kannst, wenn es sie schon gibt, ist hoffentlich klar?

                  Benutze ansonsten bitte die PHP-Tags des Forums, dann kann man alles viel besser lesen. Ach, und bevor sich jemand beschwert, achte dann direkt darauf, dass dein Quelltext keine horizontalen Scrollbalken erzeugt, indem du lange Zeilen darin umbrichst.
                  ich glaube

                  Kommentar


                  • #10
                    danke für den Tip, werde mich an die regeln halten.

                    hatte mich hier nur verschrieben, im db befehl habe ich vachar verwendet und die tabelle neu erzeugt, also nicht einfach versucht über die alte zu schreiben.

                    Kommentar


                    • #11
                      Und wo ist nun die Fehlermeldung?
                      ich glaube

                      Kommentar


                      • #12
                        einen kleinen Moment bitte, ich versuche es nocheinmal neu zu machen dann können wir das mal durchgehen.

                        Kommentar


                        • #13
                          Es ist merkwürdig,

                          Jetzt bekomme ich zwar keinerlei fehlermeldungen,
                          dafür sagt zeigt er an user registriert aber in der db
                          sind keine neuen einträge und auch einloggen
                          sagt er user exsitiert nicht.

                          Kommentar


                          • #14
                            Hm. Lies dir bitte erstmal unsere Regeln durch und befolge das was da steht zum Thema Mysql und Error_reporting...
                            ich glaube

                            Kommentar


                            • #15
                              ok das war schonmal hilfreich um es uns allen leichter zu machen,


                              ich habe die error abfrage mal benutzt und es kam dieses dabei herraus,


                              You have an error in your SQL syntax; check the manual that
                              corresponds to your MySQL server version for the right syntax
                              to use near 'usr_web174_3' at line 1usr_web174_3

                              wenn es was nutzt, version php 4.4.4 ist auf dem server

                              Kommentar

                              Lädt...
                              X