Ich bin neu in der Codierung der Serverseite mit PHP und habe eine einfache fest codierte Anmeldung vorgenommen. Ich möchte sicherstellen, dass der Benutzer von memberLogin.html
angemeldet ist, bevor sie die Elemente in memberPage.html
anzeigen können, so dass, wenn sie in den Browser die URL/memberPage.php
eingeben, werden sie an memberLogin.html
an erster Anmeldung weitergeleitet. Momentan funktioniert die Anmeldung von memberLogin.html korrekt, aber ich kann immer noch den Inhalt von memberPage.php anzeigen, ohne mich einzuloggen, indem Sie URL/memberPage.php
in den Browser eingeben. HierÜberprüfen Sie, ob sich der Benutzer angemeldet hat, bevor der Inhalt angezeigt wird.
ist der Code, die ich verwendet habe:
memberLogin.html
<form name="memberLogin" class="form-horizontal" method="post" action="memberLoginSubmit.php">
<div class="form-group">
<label class="control-label col-sm-2" for="usr">Username:</label>
<div class="col-sm-10">
<input type="username" class="form-control" name="username" placeholder="Enter Username">
</div>
</div>
<div class="form-group">
<label class="control-label col-sm-2" for="pwd">Password:</label>
<div class="col-sm-10">
<input type="password" class="form-control" name="password" placeholder="Enter Password">
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<button type="submit" class="btn btn-default">Submit</button>
</div>
</div>
</form>
memberLoginSubmit.php
$username = "";
$password = "";
if(!empty($_POST['username']) && !empty($_POST['password'])){
$username = $_POST['username'];
$password = $_POST['password'];
}
$usr = "123";
$pwd = "123";
$invalidLogin = 'Incorrect Username and/or Password. Please try again.';
if ($password == $pwd && $username == $usr){
session_start();
$_SESSION['loggedin'] = true;
header('Location: memberPage.php');
}else{
echo '<script type="text/javascript">';
echo 'alert("Incorrect Username and/or Password. Please try again.");';
echo 'window.location.href = "memberLogin.html";';
echo '</script>';
}
memberPage.php
<?php
session_start();
if ($_SESSION['loggedin'] != true){
header('memberLogin.html');
}
?>
<!DOCTYPE html>
<!--Rest of the HTML code--!>
Vielen Dank für Ihre Hilfe im Voraus!
@ memberPage.php - Entfernen Sie einfach die Anforderung 'memberLoginSubmit.php' und ändern Sie dann Ihre Bedingung in nur: if (! $ _ SESSION ['angemeldet]] {header (' memberLogin.html '); } –