⊗ppPmAuSs 415 of 447 menu

Autorisierung über Session in PHP

Unsere Autorisierung sollte so funktionieren: Ein Benutzer, der sich auf der Website autorisieren möchte, geht auf die Seite login.php, gibt die korrekten Benutzernamen und Passwort ein und durchläuft anschließend die Seiten der Website bereits als autorisierter Benutzer.

Damit andere Seiten der Website wissen, dass unser Benutzer autorisiert ist, müssen wir einen Vermerk darüber in der Session speichern.

Momentan ist unsere Autorisierung noch nicht ganz funktionsfähig, da wir die Session noch nicht eingebunden haben und andere Seiten der Website nicht erkennen können, ob der Benutzer autorisiert ist oder nicht.

Wir speichern den Vermerk über die Autorisierung in der Session-Variable $_SESSION['auth'] - wenn dort true steht, dann ist der Benutzer autorisiert, und wenn null - dann nicht autorisiert.

Lassen Sie uns die entsprechende Änderung in unseren Code einfügen:

<?php session_start(); if (!empty($_POST['password']) and !empty($_POST['login'])) { $login = $_POST['login']; $password = $_POST['password']; $query = "SELECT * FROM users WHERE login='$login' AND password='$password'"; $res = mysqli_query($link, $query); $user = mysqli_fetch_assoc($res); if (!empty($user)) { $_SESSION['auth'] = true; } else { // falscher Benutzername oder Passwort } } ?>

Nun können wir auf jeder Seite der Website überprüfen, ob der Benutzer autorisiert ist oder nicht, auf folgende Weise:

<?php if (!empty($_SESSION['auth'])) { } ?>

Man kann den Text einer beliebigen Seite komplett für nicht autorisierte Benutzer sperren:

<?php if (!empty($_SESSION['auth'])): ?> <!DOCTYPE html> <html> <head> </head> <body> <p>Text nur für autorisierte Benutzer</p> </body> </html> <?php else: ?> <p>Bitte autorisieren Sie sich</p> <?php endif; ?>

Man kann auch nur einen Teil der Seite sperren:

<!DOCTYPE html> <html> <head> </head> <body> <p>Text für alle Benutzer</p> <?php if (!empty($_SESSION['auth'])) { echo 'Text nur für autorisierte Benutzer'; } ?> <p>Text für alle Benutzer</p> </body> </html>

Angenommen, auf unserer Website gibt es neben der Seite login.php auch noch die Seiten 1.php, 2.php und 3.php. Sorgen Sie dafür, dass auf diese Seiten nur autorisierte Benutzer zugreifen können.

Angenommen, auf unserer Website gibt es noch eine Seite index.php. Sorgen Sie dafür, dass ein Teil dieser Seite für alle Benutzer offen ist, und ein Teil - nur für autorisierte.

Modifizieren Sie Ihren Code so, dass bei erfolgreicher Autorisierung auch der Benutzername des Benutzers in der Session gespeichert wird.

Sorgen Sie dafür, dass beim Aufruf einer beliebigen Seite der Website ein autorisierter Benutzer seinen Benutzernamen sieht, und ein nicht autorisierter - einen Link zur Autorisierungsseite.

Deutsch
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wir verwenden Cookies für den Betrieb der Website, Analyse und Personalisierung. Die Datenverarbeitung erfolgt gemäß der Datenschutzerklärung.
alle akzeptieren anpassen ablehnen