[FRAGE] Login erst ab bestimmten Rank [PHP]

  • Hey Towner,
    da ich gerade ein Login System in PHP coden möchte, für mein HK, bräuchte ich einen Code, den ich irgendwo einfügen kann, der
    nur Benutzer die in der Datenbank mit einem bestimmten Rank, zum Beispiel Rank 3 eingespeichert sind den Zutritt erlaubt, und den
    anderen nicht.

    Wäre nett wenn mir irgendeiner hier den Code posten könnte, ihr würdet ein fettes danke bekommen!

    Euer Kerim!

  • Hey Towner,
    da ich gerade ein Login System in PHP coden möchte, für mein HK, bräuchte ich einen Code, den ich irgendwo einfügen kann, der
    nur Benutzer die in der Datenbank mit einem bestimmten Rank, zum Beispiel Rank 3 eingespeichert sind den Zutritt erlaubt, und den
    anderen nicht.

    Wäre nett wenn mir irgendeiner hier den Code posten könnte, ihr würdet ein fettes danke bekommen!

    Euer Kerim!

    PHP
    if(mysql_num_rows(mysql_query("SELECT rank FROM users WHERE id = '".mysql_real_escape_string($my_id)."'")) > 3){
          echo"Zugang";
    }else{
          echo"Kein-Zugang";
    }

    Liebe Grüsse.

  • Werden eigentlich die Session registiert?
    Falls ja, wäre eine Möglichkeit:
    [PHP]
    <?php
    if($user['rank] > 3) {
    ?>
    HTML CODE
    <?php } else { echo 'Kein Zugriff'; } ?>
    [/PHP]
    SQL Query musst Du selber machen. Du wolltest nur erfahren wie sowas ungf. aussieht.
    Edit:
    Kleine Erklärung:
    $user['rank] ($user => Variable muss definiert sein, sprich das ist die Variable für die Query.) = Er holt vom User den Rank.
    > 3 = Falls der Rank höher als 3 ist, wird der Zutritt gewährt. Falls nicht, wird ausgegeben: Kein Zutritt.

  • Das ist meiner Meinung nach komplett richtig.

    Du müsstest halt nur noch im Bereich der USER Table einen weitere Spalte mit rank anlegen.

    So sollte die SQL aussehen:

    SQL
    CREATE TABLE `users` (
      `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
      `username` varchar(100) NOT NULL,
      `passwort` varchar(100) NOT NULL,   `rank` varchar(100) NOT NULL,
    
    
      PRIMARY KEY (`id`) ) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;


    Das mit der Verbindung der PHP sollte das komplett automatisch funktionieren.
    Zudem werde ich dies gleich auch mal testen... :)

    Hauste,

  • PHP
    if($user['rank'] > '5'){echo 'Zugang erfolgt';}else{echo 'Zugang erfolgt nicht';}

    2 Mal editiert, zuletzt von Prof. PHP (5. Februar 2014 um 22:56)

  • if(mysql_num_rows(mysql_query("SELECT rank FROM users WHERE id = '".mysql_real_escape_string($my_id)."'")) > 3){
    echo"Zugang";
    }else{
    echo"Kein-Zugang";
    }

    Da muss ich ja weinen. Bitte nichts posten, bevor so eine scheiße kommt.
    Dieser Code gibt 1 zurück, wenn der User mit der ID existiert und 0 wenn er nicht existiert. Ansonsten gar nichts!

    so far
    Yannici

  • // Eigentlich wollte ich das schreiben //

    PHP
    $row = mysql_fetch_assoc(mysql_query("SELECT rank FROM users WHERE username = '".mysql_real_escape_string($_SESSION["username"])."'"));
    
    
    if($row["rank"] > 3){
        // zutritt //
    }else{
       die("Kein Zutritt");
    }


    Da muss ich ja weinen. Bitte nichts posten, bevor so eine scheiße kommt.
    Dieser Code gibt 1 zurück, wenn der User mit der ID existiert und 0 wenn er nicht existiert. Ansonsten gar nichts!

    so far
    Yannici

    War ein kleiner Fehler von mir, wegen dem brauchst du nicht gleich so auszuteilen!

    Liebe Grüsse.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!