Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
lab4 [2018-11-23 14:22] Joakim Forsgren |
lab4 [2021-12-09 20:00] Joakim Forsgren |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== Login ====== | ====== Login ====== | ||
- | Ni skall gör en inloggning med hjälp av $_SESSION | + | Ni skall gör en inloggning |
- | == Krav == | + | == Krav (genomgång på detta) |
- Ni skall gör en inloggning där ni skall verifiera er mot en databas.\\ | - 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.\\ | - Ni skall kolla om man är inloggad via en $_SESSION variabel.\\ | ||
Line 9: | Line 9: | ||
- Om man är inloggad ska man ha möjlighet att logga ut.\\ | - Om man är inloggad ska man ha möjlighet att logga ut.\\ | ||
- | Från {{ :login.zip |lektion}} | + | När ni jobbar vidare så är det **//viktigt!//** att ni följer den kodstruktur som vi gick igenom under lektionen!\\ |
- | <code mysql> | + | Fundera |
- | # Dump av struktur från lektion. | + | - Vilka sidor som är riktiga sidor ($_GET['p'])\\ |
- | CREATE TABLE `Users` ( | + | - Vilka som bara innehåller logik och aldrig visar något |
- | `UserID` int(11) NOT NULL, | + | - Vilka sidor som är publika och vilka som man måste vara inloggad för att se.\\ |
- | `FirstName` varchar(50) COLLATE utf8_unicode_ci NOT NULL DEFAULT '', | + | Alla anrop ska via er index.php som bara har till uppgift |
- | `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 ' | + | |
- | `Admin` tinyint(1) NOT NULL DEFAULT ' | + | |
- | ) 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; | + | |
- | </code> | + | |
- | + | ||
- | == Nytt!== | + | |
- | <code php> | + | |
- | include(' | + | |
- | + | ||
- | // För att starta | + | |
- | session_name(' | + | |
- | session_start(); | + | |
- | + | ||
- | // På genomgång visade jag hur man kan fråga databasen om login och lösen stämmer | + | |
- | $query = " | + | |
- | EMail = '" | + | |
- | Password = SHA1('" | + | |
- | // Sen så har vi pratat om $_SESSION fungerar | + | |
- | $_SESSION | + | |
- | + | ||
- | // För att tabort (logga ut) | + | |
- | session_destroy(); | + | |
+ | == Mer saker att göra, ni får välja ordning själva... OBS! Efter varje steg ska ni skicka in koden till gitlab | ||
+ | - Först av allt, se till att ladda ner koden från genomgång och lägg den på rätt ställe.\\ | ||
+ | Lägg in dessa filer i er: | ||
+ | < | ||
+ | public_html/ | ||
</ | </ | ||
+ | - Nästa steg är att ändra lite inställningar och skapa egna tabeller och få det att fungera, se till att ni inte skickar med login och lösen till databasen i ert commit.\\ | ||
+ | - Om man inte finns som användare skall man kunna lägga till sig själv via ett registreringsformulär.\\ | ||
+ | - Bygg en " | ||
+ | - Kunna göra tumme upp eller ner för ett inlägg, man ska kunna se hur många upp och inlägget har fått, man ska bara kunna ha en åsikt per person och inlägg.\\ | ||
+ | - Kunna göra kommentarer på inlägg.\\ | ||
+ | - Sätt för att kunna stänga av användare som man inte vill skall kunna logga in mer.\\ | ||
+ | - 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...!!\\ | ||
+ | - Bli " | ||
<php> | <php> | ||
/* | /* | ||
- | Sen min [[http:// | + | Bild från genomgång:{{::login_files.png? |
- | Kod från lektion: {{ ::login_ex.tgz |}} | + | |
- | //Sen min [[lab4_code]]!\\ | ||
+ | Ni kan hämta koden från genomgång via gitlab [[https:// | ||
- | highlight_file(' | + | < |
- | {{ :: | + | git clone https://gitlab.com/jfoeduse/vt21.git |
+ | </ | ||
*/ | */ | ||
</ | </ | ||
- | == 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.\\ | + |