Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
lab4 [2018-11-29 20:52]
Joakim Forsgren
lab4 [2022-07-18 13:20] (current)
Line 1: Line 1:
 ====== Login ====== ====== Login ======
-Ni skall gör en inloggning med hjälp av $_SESSION+Ni skall gör en inloggning där ni håller kolla på om man är inloggad eller inte med hjälp av $_SESSION
  
-== Krav ==+== Krav - det blev en 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 på:\\ 
-# 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 ($_GET['c'])\\ 
-  `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 att ta emot och hantera anrop.
-  `LastName` varchar(50COLLATE utf8_unicode_ci NOT NULL DEFAULT '', +
-  `EMail` varchar(50) COLLATE utf8_unicode_ci NOT NULL DEFAULT ''+
-  `Password` varchar(50COLLATE 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` +== Mer saker att görani får välja ordning själva... OBS! Efter varje steg ska ni skicka in koden till gitlab  == 
-  ADD PRIMARY KEY (`UserID`), +- Först av allt, se till att ladda ner koden från genomgång och lägg den på rätt ställe.\\ 
-  ADD UNIQUE KEY `EMail` (`EMail`); +Lägg in dessa filer i er: 
-   +<code> 
-ALTER TABLE `Users` +public_html/wesweb/web/login
-  MODIFY `UserID` int(11) NOT NULL AUTO_INCREMENT; +
-COMMIT;+
 </code> </code>
 +- 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 "diskussions tråd" (eller enkelt forum för de som hinner), alla som har en användare ska kunna göra och se inlägg och de ska visas ungefär som er gästbok, man vet ju vem som har gjort ett inlägg. Skapa en ny tabell som ni **kopplar** mot er Users tabell. (Gör ni ett forum bli troligen fler än en tabell...)\\ 
 +- 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 "vän" med andra användare.\\ 
 +- Lägg till någon egen funktion som ni tycker vore bra.\\
 <php> <php>
 /* /*
-== Nytt!== +Bild från genomgång:{{::login_files.png?linkonly|}}
-<code php> +
-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 +Ni kan hämta koden från genomgång via gitlab [[https://gitlab.com/jfoeduse/vt21]]
-$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();+
  
 +<code>
 +git clone https://gitlab.com/jfoeduse/vt21.git
 </code> </code>
 */ */
 </php> </php>
-<php> 
-/* 
-Sen min [[http://student.oedu.se/~jf/code/lab4.php|Lab4]]!\\ 
-Kod från lektion: {{ ::login_ex.tgz |}} 
  
-//Sen min [[lab4_code]]!\\ 
  
- 
-highlight_file('../../code/lab4.php'); 
-{{ ::login_20171124.tgz |Ex från lektion}} 
-*/ 
-</php> 
-== 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 om man inte vill skall kunna logga in mer.\\ 
-- Bygg en "diskussions tråd", alla som har en användare ska kunna göra och se inlägg och de ska visas ungefär som er gästbok, man vet ju vem som har gjort ett inlägg. Skapa en ny tabell som ni kopplar mot er Users tabell.\\