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 [2019-12-09 21:05]
Joakim Forsgren
lab4 [2021-01-22 11:05] (current)
Joakim Forsgren
Line 2: Line 2:
 Ni skall gör en inloggning där ni håller kolla på om man är inloggad eller inte 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 (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.\\
  
-<php> +När ni jobbar vidare så är det **//viktigt!//** att ni följer den kodstruktur som vi gick igenom under lektionen!\\ 
-/* +Fundera på:\\ 
-Från {{ :login.zip |lektion}} +- Vilka sidor som är riktiga sidor ($_GET['p'])\\ 
-<code mysql> +- Vilka som bara innehåller logik och aldrig visar något ($_GET['c'])\\ 
-# Dump av struktur från lektion. +- Vilka sidor som är publika och vilka som man måste vara inloggad för att se.\\ 
-CREATE TABLE `Users` ( +Alla anrop ska via er index.php som bara har till uppgift att ta emot och hantera anrop.
-  `UserID` int(11) NOT NULL, +
-  `FirstName` varchar(50) COLLATE utf8_unicode_ci NOT NULL DEFAULT ''+
-  `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öra, ni 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 alltse till att ladda ner koden från genomgång och lägg den på rätt ställe.\\ 
-  ADD UNIQUE KEY `EMail` (`EMail`); +- 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.\\ 
-ALTER TABLE `Users+- 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...)\\ 
-  MODIFY `UserID` int(11NOT NULL AUTO_INCREMENT; +- 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.\\ 
-COMMIT; +- Kunna göra kommentarer på inlägg.\\ 
-</code> +- 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...!!\\ 
-</php>+- Bli "vän" med andra användare.\\
  
-<php> +Bild från genomgång:{{::login_files.png?linkonly|}}
-/* +
-== Nytt!== +
-<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) +<code> 
-session_destroy();+git clone https://gitlab.com/jfoeduse/vt21.git 
 +</code>
  
 +Lägg in dessa filer i er:
 +<code>
 +public_html/wesweb/web/login
 </code> </code>
-*/ 
-</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> 
-Ni ska följa den kodstruktur som vi gick igenom under lektionen, funder på vilka sidor som är publika och vilka som man måste vara inloggad för att se. Alla anrop ska via er login.php. 
- 
-== Mer krav...  == 
-- 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" (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. Sk ni gör ett forum kan det bli fler än en tabell...\\