2017-02-09 1 views
0

Hey Leute das ist meine PHP-Datei namens login.php. Also, was ist meine Frage? Ich möchte 2 Benutzer haben: 1 Admin und 1 Benutzer. admin und user müssen unterschiedliche Seiten haben. In meinem Code habe ich nur Benutzer und wenn Sie normale Benutzer Benutzername und Passwort eingeben, wird es Sie auf die Benutzer-Seite führen, aber ich kann nicht auf Admins Benutzernamen und Passwort es zeigt nichts.Helfen Sie mir Jungs, um Admins Login auch zu machen.admin und user login php mysql form

<?php 

    $host = "localhost"; 
    $user = "root"; 
    $pass = ""; 
    $db = "test"; 
    $tbl_name = "users"; 
    $tbl_name1 = "admins"; 

    mysql_connect($host, $user, $pass) or die (mysql_error()); 
    mysql_select_db($db) or die (mysql_error()); 

    if(isset($_POST['username'])) { 
     $username = $_POST['username']; 
     $password = $_POST['password']; 
     $sql = "SELECT * FROM users WHERE username='".$username."' AND password='".$password."' LIMIT 1 "; 
     $res = mysql_query($sql); 


     if(mysql_num_rows($res) == 1) { 
      header("location:update.php"); 
      echo "You have successfuly logged in."; 
      exit(); 
     } else { 
      // session_register("username"); 
      // session_register("password"); 
      echo "Invalid logind information. Please return to the previous page"; 
      header("location:login.php"); 

      exit(); 
     } 

    } 

    ?> 
+2

Jedes Mal, wenn Sie [die 'mysql_'] (http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php) Datenbankerweiterung in neuen verwenden Code ** [ein Kätzchen wird irgendwo in der Welt erwürgt] (http://2.bp.blogspot.com/-zCT6jizimfI/UjJ5UTb_BeI/AAAAAAAACgg/AS6XCd6aNdg/s1600/luna_getting_strangled.jpg) ** es ist veraltet und ist gewesen seit Jahren und ist für immer in PHP7 verschwunden. Wenn Sie nur PHP lernen, verbringen Sie Ihre Energie mit dem Lernen der Datenbankerweiterungen und vorbereiteten Anweisungen 'PDO' oder' mysqli'. [Hier starten] (http://php.net/manual/en/book.pdo.php) – RiggsFolly

+1

Ihr Skript ist in Gefahr [SQL-Injection-Angriff] (http://stackoverflow.com/questions/60174/how -kann-i-Verhinderung-sQL-Injektion-in-php) einen Blick darauf, was passiert ist auf [Kleine Bobby Tables] (http://bobby-tables.com/) Selbst [wenn Sie Eingänge sind auf der Flucht, seine nicht sicher!] (http://stackoverflow.com/questions/5741187/sql-injection-that-gets-around-mysql-real-escape-string) Verwenden Sie [vorbereitete parametrisierte Anweisungen] (http://php.net /manual/de/mysqli.quickstart.prepared-statements.php) – RiggsFolly

+1

Speichern Sie keine Klartextpasswörter! PHP liefert ['password_hash()'] (http://php.net/manual/en/function.password-hash.php) und ['password_verify()'] (http://php.net/manual/ en/function.password-verify.php) benutze sie bitte. Und hier sind einige [gute Ideen über Passwörter] (https://www.owasp.org/index.php/Password_Storage_Cheat_Sheet) Wenn Sie eine PHP-Version vor 5.5 verwenden [gibt es ein Kompatibilitätspaket hier] (https : //github.com/ircmaxell/password_compat) – RiggsFolly

Antwort

0

Erstens, loswerden von mysql, und verwenden Sie mysqli. mysql ist veraltet und wurde in PHP 7 entfernt.

Zweitens, vorausgesetzt, Sie haben zu mysqli gewechselt, können Sie Gruppen in Ihrer Benutzerdatenbank in einer neuen Spalte speichern, nach der Sie suchen können.

if($row["group"] == 'admin') { 
//Display admin webpage 
} else { 
//Display user webpage 
}