⊗ppPmAuSs 415 of 447 menu

Godkendelse via session i PHP

Vores godkendelse skal fungere sådan: en bruger, der ønsker at logge ind på webstedet, går til siden login.php, indtaster de korrekte login og adgangskode og derefter bevæger sig rundt på siderne på webstedet allerede godkendt.

For at andre sider på webstedet skal vide, at vores bruger er godkendt, skal vi gemme en markering om dette i sessionen.

Indtil videre er vores godkendelse ikke helt funktionsdygtig, da vi endnu ikke har tilsluttet sessionen, og andre sider på webstedet ikke kan finde ud af, om brugeren er godkendt eller ej.

Vi vil gemme markeringen om godkendelse i sessionvariablen $_SESSION['auth'] - hvis der står true, så er brugeren godkendt, og hvis null - så er brugeren ikke godkendt.

Lad os foretage den tilsvarende rettelse i vores kode:

<?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 { // forkert login eller adgangskode } } ?>

Nu kan vi på enhver side på webstedet kontrollere, om brugeren er godkendt eller ej, på denne måde:

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

Man kan lukke teksten på en given side helt for ikke-godkendte brugere:

<?php if (!empty($_SESSION['auth'])): ?> <!DOCTYPE html> <html> <head> </head> <body> <p>tekst kun for godkendte brugere</p> </body> </html> <?php else: ?> <p>venligst log ind</p> <?php endif; ?>

Man kan kun lukke en del af siden:

<!DOCTYPE html> <html> <head> </head> <body> <p>tekst for alle brugere</p> <?php if (!empty($_SESSION['auth'])) { echo 'tekst kun for godkendte brugere'; } ?> <p>tekst for alle brugere</p> </body> </html>

Lad der på vores websted, udover siden login.php, være siderne 1.php, 2.php og 3.php. Sørg for, at kun godkendte brugere kan få adgang til disse sider.

Lad der på vores websted være en side til index.php. Sørg for, at en del af denne side er åben for alle brugere, og en del - kun for godkendte.

Modificer din kode, så der ved succesfuld godkendelse også gemmes brugerens login i sessionen.

Sørg for, at når der besøges en hvilken som helst side på webstedet, vil en godkendt bruger se sit login, mens en ikke-godkendt bruger vil se et link til loginsiden.

Dansk
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDeutschΕλληνικά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
Vi bruger cookies til webstedets funktion, analyse og personalisering. Behandling af data foregår i henhold til Fortrolighedspolitikken.
accepter alle tilpas afvis