Reflektion av m04 – PHP
En inloggningsapplikation med gästbok där användardata och inlägg lagras i JSON-filer. Flera användare kan registrera sig, logga in, hantera sina konton och skriva inlägg i gästboken. Det går även att redigera och radera inlägg.
filstruktur
│
├── admin.php (Adminsida med gästbok & kontohantering)
├── check_login.php (Kontroll om inloggning och cookie)
├── change_password.php (Byt lösenord)
├── delete_user.php (Radera konto)
├── guestbook.php (Gästbokssida)
├── index.php (Startsida med login och registrering)
├── login.php (Inloggningslogik)
├── register.php (Registreringslogik)
├── users.json (Användardata — användarnamn & hashat lösenord)
├── guestbook.json (Gästboksinlägg)
├── style.scss/css (Stil)
Funktioner
- Registrering: Användare kan skapa konton med unika användarnamn och hashade lösenord.
- Inloggning: Inloggade användare får tillgång till adminsidan. Alternativet ”Håll mig inloggad” använder cookies.
- Skyddade sidor:
check_login.phpsäkerställer att endast inloggade användare har åtkomst till admin och gästbokssidor. - Gästbok: Alla inloggade användare kan skriva, redigera och ta bort sina egna inlägg. Admin kan hantera alla inlägg.
- Kontohantering: Möjlighet att byta lösenord och radera konto.
- Roller: Adminen kan redigera och redera alla användarnas inlägg.
- Datahantering: Allt data sparas i
users.jsonochguestbook.json.
Implementation och svårigheter
Från början jag tänkte lagra datan i .txt-filer, men jag använde istället JSON-filer.
Och det visade sig att det vae ett bra val, eftersom JSON ger en tydligare struktur och gör det enklare att hantera flera användare och inlägg i PHP.
Sessionshantering och cookies var en utmaning – särskilt att få ”Håll mig inloggad” fungera både smidigt och säkert.
Att hantera användarrättigheter och se till att endast rätt användare kan redigera eller ta bort inlägg.
(Jag kollade också tutorials samt jag gjorde det och googlade sånt inte kunde)
Jag använde password_hash() och password_verify() för säker lösenordshantering.
Varje fil i momenten har ett tydligt ansvar, vilket gör koden lättare att läsa, felsöka och vidareutveckla.
Lärdom och resurser
Jag har lärt mig om PHP-(säkerhet & annat) tack vare Laracasts (PHP-FOR_BEGINNERS), särskilt kring lösenordshantering och skydd av sidor.
Resurser jag använde/r:
Jag är nöjd med hur jag gjorde det som att lägga en gästbok inlägg och tycker att momenten har gett mig en stabil grund om PHP. Det är roligt att se hur alla delar hänger ihop och att kunna bygga en lösning från grunden. Jag känner mig redo med att arbeta med sessioner, cookies, filhantering osv i PHP.
LÄNK till M4u1-3
Man kan logga in som ADMIN : User = Admin & Pass = 1234
Leave a Reply