Ich möchte Admin-und Benutzer-Seite erstellen, aber nur durch die Kenntnis der URL-Adresse können sie zu jeder Seite navigieren.Wie kann ich den Seitenzugriff einschränken?Wie sollte ich Admin und Benutzer erstellen
<?php
include './connect.php';
if (($_SERVER["REQUEST_METHOD"] == "POST") && (!empty($_POST['username'])) && (!empty($_POST['password']))) {
$postedUsername = $_POST['username'];
$postedPassword = $_POST['password'];
$userDatabaseFind = $database->login->findOne(array('username' => $postedUsername, 'password' => $postedPassword));
$storedUsername = $userDatabaseFind['username'];
$storedPassword = $userDatabaseFind['password'];
if (($postedUsername == $storedUsername) && ($postedPassword == $storedPassword)) {
header('location:searchDetail.php');
} else {
echo 'Error';
}
}
?>
Mein HTML-Code ist
<html>
<head>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous">
<style>
#page-wrapper{
width: 400px;
margin: auto;
}
input[type="text"] {
width: 450px;
}
input[type="password"]{
width: 450px;
}
body{
background-image: url(images/image2.jpg);
}
</style>
</head>
<body>
<form class="form-horizontal" method="post" action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>">
<fieldset>
<legend>Signin Form</legend>
<div id="page-wrapper">
<div class="form-group">
<label for="inputEmail" class="col-lg-2 control-label">Username</label>
<div class="col-lg-10">
<input type="text" class="form-control" id="inputEmail" placeholder="Username" name="username" >
</div>
</div>
<div class="form-group">
<label for="inputPassword" class="col-lg-2 control-label">Password</label>
<div class="col-lg-10">
<input type="password" class="form-control" id="inputPassword" placeholder="Password" name="password">
</div>
</div>
<button type="submit" class="btn btn-success" name="button">Submit</button>
</div>
</fieldset>
</form>
</body>
PS-Bitte erwähnen Sie das Passwort nicht Sicherheit
Modified Code:
<?php
include './connect.php';
session_start();
if (($_SERVER["REQUEST_METHOD"] == "POST") && (!empty($_POST['username'])) && (!empty($_POST['password']))) {
$postedUsername = $_POST['username'];
$postedPassword = $_POST['password'];
$userDatabaseFind = $database->login->findOne(array('username' => $postedUsername, 'password' => $postedPassword));
$storedUsername = $userDatabaseFind['username'];
$storedPassword = $userDatabaseFind['password'];
if (($postedUsername == $storedUsername) && ($postedPassword == $storedPassword)) {
$_SESSION['username'] = $storedUsername;
if($_SESSION['username'] == 'admin'){
header('location:searchDetail.php');
}
else{
echo 'Hello world';
}
} else {
echo 'Error';
}
}
?>
Eine mögliche Lösung helfen wäre eine Sitzungsvariable zu gov zu verwenden Welche Benutzerstufe kann auf bestimmte Seiten zugreifen - Wenn sich der Benutzer anmeldet, weisen Sie der Sitzungsvariablen die relevanten Informationen zu. Wenn sie zu einer Seite navigieren, die durch den Sitzungsvariablenüberprüfungsmechanismus geschützt ist, und sie die Anforderungen erfüllen, auf die sie zugreifen, werden sie andernfalls umgeleitet. – RamRaider
Mögliches Duplikat von [Creating Admin/User Anmeldesystem in PHP] (http://stackoverflow.com/questions/17249973/creating-admin-user-login-system-in-php) – DanMan