Idag har jag börjat lägga in sidan i en helt ny design från ett halvfärdigt sidprojekt jag haft. Designen är snyggare, stilrenare, och mer lämpad för ändamålet.
Jag har även lagt in funktioner för att registrera en ny användare, logga in, och visa uppgifter om den inloggade användaren.
Kvar att göra är att lägga in funktion för att boka en film, samt att kunna lista aktuella och tidigare bokningar.
När man är inloggad som admin ska man självklart kunna se nyregistrerade orders, vem ordern tillhör, samt funktioner för att flytta ordern mellan olika statusgrader, t.ex ”väntar på att lämnas in”, ”finns i butiken” osv.
Jag hade lite problem med inloggningsfunktionen; Inloggningsfönstret visas hela tiden på alla sidor (när man är inloggad visas i det fältet status för användaren m.m, ”Välkommen nn”), men när man loggar in så flyttas man till index.php . Detta är dumt, man bör istället komma tillbaka till sidan man loggade in från.
Detta löste jag med en funktion som talar om på vilken sida man tryckte på logga in-knappen,
$_SERVER['HTTP_REFERER']
Man flyttas till control.php, där användarnamn och lösenord checkas, och sedan skickas man vidare till sidan man kom ifrån.
En annan lösning hade varit att göra ett hidden field i login-formen, är däri skriva vad sidan heter. Men den lösning jag använder mig av innebär mindre kod, mindre jobb, och mindre belastning av servern.
Jag har även lagt in en funktion som visar en viss text om man loggar ut, skriver fel lösenord, eller har registrerat sig. Exempelvis vid utloggning: Loggaut-knappen leder till control.php?logout som utför detta:
if (isset($_GET['logout'])){
$_SESSION = array();
session_destroy();
header(”Location: index.php?bye”);
exit;
Efter att sessionerna har tagits bort, så skickas man alltså till index.php?bye . Det är just ”?bye” som bör uppmärksammas, såhär ser kodstycket i index.php ut som bearbetar detta:
if (isset($_GET['bye'])){
echo ”<font color=blue>Du är nu utloggad!</font>”;
}
På samma sätt fungerar fel lösenord och nyregistrering.
Jag har idag även arbetat med säkerheten på sidan, främst för användarnas uppgifter. Innan lösenorden lagras i databasen så läggs ett antal tecken till (salt), och hela strängen krypteras i md5.
För att hålla nere filantalet så har jag försökt använda mig av samma fil flera gånger, och använda funktionen include. T.ex. så är behöver jag inte skriva uppgifterna för att ansluta till databasen på varje sida, utan det finns i en fil som includas.
Jag har ännu inte lagt in funktionera för att lägga till, ändra och ta bort filmer, skådespelare och regissörer, men innan jag gör det så vill jag hitta en lösning för att använda samma fil för t.ex. att lagra ny film/skådespelare/regissör.
I nuläget / på den gamla sidan så är exempelvis lägg till/ändra/ta bort skådespelare uppbyggt såhär:
edit_act.php — Lista över alla skådespelare, samt val (lägg till/ändra/ta bort)
edit2_act.php — Här redigerar man en specifik skådespelare.
edit_act_store.php – Hit skickas man efter att man har tryckt på OK i edit2_act.php. Skådespelaren ändras.
add_act.php — Här finns ett textfält där man fyller i skådespelarens namn.
add_act_store.php — Hit skickas man efter att man har tryckt på OK i add_act.php. Skådespelaren lagras.
Detta är inte särskilt effektivt, och jag ska jobba på en annan lösning när jag lägger in funktionerna i den nya sidan.
Dagens tidsåtgång: 8 timmar