This is an old revision of the document!


Login

Ni skall gör en inloggning med hjälp av $_SESSION

Krav

- Ni skall gör en inloggning där ni skall verifiera er mot en databas.
- Ni skall kolla om man är inloggad via en $_SESSION variabel.
- Lösenord skall sparas krypterat.
- Om man inte är inloggad skall en login form visas där man erbjuds att logga in.
- Om man är inloggad ska man ha möjlighet att logga ut.

Från lektion

# Dump av struktur från lektion.
CREATE TABLE `Users` (
  `UserID` int(11) NOT NULL,
  `FirstName` varchar(50) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
  `LastName` varchar(50) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
  `EMail` varchar(50) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
  `Password` varchar(50) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
  `Deleted` tinyint(1) NOT NULL DEFAULT '0',
  `Admin` tinyint(1) NOT NULL DEFAULT '0'
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
 
ALTER TABLE `Users`
  ADD PRIMARY KEY (`UserID`),
  ADD UNIQUE KEY `EMail` (`EMail`);
 
ALTER TABLE `Users`
  MODIFY `UserID` int(11) NOT NULL AUTO_INCREMENT;
COMMIT;
Nytt!
include('path/file');
 
// För att starta
session_name('ert_login'); // För att undvika problem med session på tux...
session_start();
 
// På genomgång visade jag hur man kan fråga databasen om login och lösen stämmer
$query = "SELECT * FROM `Users` WHERE 
EMail = '" . $_POST['Login'] . "' AND 
Password = SHA1('" . $_POST['Password'] . "')";
// Sen så har vi pratat om $_SESSION fungerar
$_SESSION
 
// För att tabort (logga ut)
session_destroy();
Att göra själv

- Om man inte finns som användare skall man kunna lägga till sig själv via ett formulär.
- Sätt att hantera användare som har glömt sitt lösen, tänk på att man inte skall kunna ändra någon annans lösenord…!!
- Sätt för att kunna stänga av användare som man inte vill skall kunna logga in mer.