[S] php Login Script mit Rechteverwaltung

Dieses Thema im Forum "Webentwicklung" wurde erstellt von romestylez, 22. Oktober 2013 .

Schlagworte:
Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 22. Oktober 2013
    Zuletzt bearbeitet: 22. Oktober 2013
    Hallo,
    ich suche ein kleines Loginscript in php. Dieses Script soll es eigentlich nur ermöglichen das ich einen Account mit Mail & Passwort anlegen kann und dann noch festlegen kann welche Seite ihm nach dem Login angezeigt wird.

    Hintergrund ist das ich einige Leute habe welchen ich eine Textdatei zur Verfügung stellen möchte/muss.


    Login von User A -> Datei1.html wird angezeigt
    Login von User B -> Datei2.html wird angezeigt
    Login von User C -> Datei2.html wird angezeigt


    Es kann auch Accounts geben die auf die gleiche Datei wie ein anderer Account schauen können.

    Ist denke ich sehr einfach zu realisieren aber eventuell gibt es ja was kleines fertiges

    Spoiler
    Code:
    <?php
    session_start();
    
    $data=array("user1"=>array("url"=>"site1.html","password"=>"pass1"),
     "user2"=>array("url"=>"site2.html","password"=>"pass2"));
    
    if(isset($_POST['username']) && isset($_POST['password'])) {
     if($data[$_POST['username']]['password'] == $_POST['password']) {
     $_SESSION['username'] = $_POST['username'] . " " . $_POST['password'];
     header('Location: ' . $data[$_POST['username']]['url']);
     } else {
     login('Wrong user name or password. <br>');
     }
    } else {
     login();
    }
    ?><?php
    
    function login($response='This is the default message, if there is none provided') {
    
    ?>
    <html>
    <head>
     <title>WoWOutlet HB</title>
     <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>
    <body>
     <!-- <h1>Login</h1> -->
     <p><?=$response?></p>
     <form action="" method="post">
     <label for="username">User Id</label>
     <input name="username" type="text" /><br />
    
     <label for="password">Password</label>
     <input name="password" type="password"><br />
     <input type="submit" value="Login" />
     </form>
    </body>
    </html>
    <?php } ?> 

    Das dann mit MySQL und es wäre perfekt
     
  2. 23. Oktober 2013
    Zuletzt von einem Moderator bearbeitet: 14. April 2017
    AW: php Login Script mit Rechteverwaltung

    Ja, ist denke ich einfach zu realisieren.
    Ich habe was simples, allerdings ohne MySQL. Vielleicht langt es dir trotzdem:
    Simple Login without MySQL

    Etwas aufwendiger, aber sehr nice, da mit Registrierungsfunktion. Benötigt MySQL.
    Script users Register Login with PHP

    Ansonsten halt selber schreiben
     
  3. 23. Oktober 2013
    Zuletzt von einem Moderator bearbeitet: 14. April 2017
    AW: php Login Script mit Rechteverwaltung

    Schaut aber so aus als könnte keines der Scripte den User nach dem Login auf eine von mir festgelegte Seite leiten.

    Habe ja oben im Spoiler ein Script gepostet welches aber leider ohne Sessions arbeitet. Ich schaue mir das mal etwas genauer an wenn ich die Zeit finde.


    //EDIT

    Habe nun selber was gemacht. Zwar ohne mysql aber relativ einfach über die login.php zu verwalten.

    Login.php
    Spoiler
    Code:
    <?php
    if(!defined("SESSION")){
     session_start();
     define("SESSION", true);
    }
    if(isset($_GET["log_out"])){
     unset($_SESSION["logged_in"]);
     echo 'Du wurdest ausgeloggt und wirst in 3 Sekunden auf die Startseite weitergeleitet';
     header('refresh: 3; url=login.php');
     exit;
    }
    
    $login = true;
    require "protect.php";
    
    $logins[0]["user"] = "admin";
    $logins[0]["pass"] = "admin";
    $logins[0]["redirect"] = "key1.php";
    
    $logins[1]["user"] = "ab";
    $logins[1]["pass"] = "a13";
    $logins[1]["redirect"] = "key2.php";
    
    // No need to edit below, except the errors
    
    if(isset($_POST['submit'])){ //is the form submitted?
    //check for empty user name or password
     $is_logged = false; //this is part of the process to see if they have a correct password or not, set to false right here to say no right pass... (will change later)
     foreach($logins as $login){
     $user = $_POST;
     if(($user["user"] == $login["user"]) && ($user["pass"] == $login["pass"])) {
     $is_logged = true;
     $_SESSION["logged_in"] = array($login["redirect"], true); //now, if they do have a correct password, set the session to true, and the variable.
     header("Location: ".$login["redirect"]);
     exit;
     }
     }
     if(!$is_logged){ echo 'Falscher Username/Passwort - Bitte versuche es erneut !'; } //if none of the $logins arrays matched the input, give an error
    }
    ?>
    
    
    <center><br>
    <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
    Username:<br />
    <input type="text" name="user" /><br />
    Password:<br />
    <input type="password" name="pass" /><br /><br />
    <input type="submit" name="submit" value="Log in!" />
    </form></schrift>
    </center>

    protect.php
    Spoiler
    Code:
    <?php
    if(!defined("SESSION")){
     session_start();
     define("SESSION", true);
    }
     if((!isset($_SESSION["logged_in"])) || !$_SESSION["logged_in"][1]){
     if(!isset($login)){
     header("Location: login.php"); //check to see if logged in, otherwise go to the login
     exit;
     }
     } else if (isset($login) || isset($index)){
     echo "Your already logged in!! <a href='login.php?log_out'>Click here</a>, to logout. Or, go back to your <a href='{$_SESSION['logged_in'][0]}'>page</a>.";
     exit;
     }
    ?>
    


    key1.php
    Spoiler
    Code:
    <?php
    include("protect.php");
    ?>
    
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
    <center>
     
     <br /><br /><br />
     <p><?=$response?></p>
    Text<br />
    Text<br />
    Text<br />
     </div>
    </center>
    </body>
    </html>
    
     
  4. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.