htmlphp logo

Redovisning av kursmomenten

Kmom01: Kom igång med HTML, CSS och PHP

Det var kul att skriva mina första php-koder! Jag har sneglat på PHP tidigare, men programmering tillhör inte det som jag har varit bra på... fast det kommer! Och det var inte särskilt svårt att förstå instruktionerna heller, bara att följa dem rakt upp och ner. Jag gjorde uppgiften bara lite mer avancerad genom att ändra utseende med hjälp av stylesheeten.

Valideringen funkade bra, med en liten varning om att html5 används! Den versionen är ju inte standard ännu. Jag hade en liten fundering på om alla dokumenten blev validerade samtidigt (alltså header.php, em.php samt footer.php) men fick föredömligt svar på den frågan på chatten! De slås alltså ihop till ett dokument! Det står ju så i instruktionerna och bok etc. men ibland hänger inte hjärnan med!

Error-hanteringen följde jag bara instruktionerna och det verkar fungera.

Jag använder TextWrangler som editor. Testade JEdit men gled snart över i TextWrangler, som jag är van vid. Operativsytem: MacOsX 10.7.4. Som Ftp-klient använder jag FileZilla som jag gjort länge, men jag kopplade även upp mig med TextWrangler och sparade direkt mot servern. Webbserver: MAMP.

Vad gäller webläsare, så försöker jag att kolla i åtminstone Safari, FireFox, Chrome samt Opera. Explorer har jag svårt att kolla, eftersom den inte finns för Mac nuförtiden (vad jag vet!). Min favorit är dock FireFox med Firebug installerat!

Kmom02: HTML-element och CSS-konstruktioner

Det var riktigt mycket att göra på denna uppgift! Men intressant och roligt var det.

Jag kollade lite snabbt i guiderna men behövde inte lägga jättemycket tid åt att läsa dem. Cheatsheeten är jättebra, när jag kom på vad det är och hur den fungerar!

Firebug var inget nytt för mig, har använt den länge, men idén med debug.css var väldigt bra! Och att man kan välja olika stilmallar så där enkelt i FF, det har jag inte tänkt på. Verktyget style! var också trevligt. Läste igenom allt där, men testade inte att skriva eget. Det får bli en annan gång...

Navigeringsmenyn var lätt att förstå hur det funkar. Clearer-fix behövde jag inte använda men har noterat att det finns :). Bylinen var inte heller nåt problem... Alla <hr> tog jag bort, har aldrig varit förtjust i dessa. Använde border istället. CSS-tipset att "alltid visa scrollbar" har jag använt i min stylesheet men är inte säker på om den fungerar ;) Har kollat i FF, Chrome, Safari och Opera. I webbläsarna nu för tiden syns inte scrollisten särskilt väl. I Opera kunde jag ana en scrollist på sidan. I vart fall fick jag inte någon "flipp", så det funkade inte dåligt i alla fall.

Jag hade väldigt roligt när jag gjorde gradient, border-radius, box-shadow samt genomskinlighet genom att använda rgba().

Så var det det här med validering... Gradient, border-radius, box-shadow etc. fastnade i validatorn, men det skulle godkännas ändå enligt instruktionen :). Även overflow-y fastnar!

Slutligen lade jag in en favicon. Den funkar i FF, Chrome, Opera men inte i Safari (Mac)!

Kmom03: Dynamisk webbplats med PHP

Nu börjar det bli lite kämpigt... Jag går igenom instruktionerna och sakta, sakta sjunker det in - alla funktioner och variabler och hur allt hänger ihop! Det är väldigt lätt att virra bort sig i djungeln av alla filer som nu håller på att skapas ;)

Började med att gå igenom php-guiden, försökte koda så mycket som möjligt men kopierade en hel del. Testade dock allt ordentligt. PHP känns väldigt nytt och svårt. Tur att det finns HTML och CSS (som jag känner mig ganska trygg med) i uppgifterna!

Multisidan (test.php) kändes nästan övermäktig. Här började jag kopiera allt och göra min egna ändringar efteråt. Jag stötte på patrull direkt! När det nu är tvåkolumnerslayout så kollapsar content-diven! Men det löser jag med clearer-fix, äntligen behövde jag denna... Aside flyttar jag till höger sida, var ju nästan upplagt för det, med en tom kolumn där. Navigeringsmenyn i <aside> var lite trixigt att få till, alla list-element låg så inbäddat. Men det gick också till slut. Jag var nära att bara kopiera mos kod, men klarade det! Apropå att kopiera kod: det var mycket små "defekter" i mos kod. Men det är jättebra, det motiverar att koda för hand! Men så här i början är det dock skönt att kopiera ganska mycket, även fast det blir mycket att "leta fel".

Formulär med get och post var inte svårt att få till, bara följa instruktioner. Det är en trevlig känsla att få en större förståelse för vad som händer när man skickar data med formulär, t.ex. vad <form method="get"> och <form method="post"> egentligen är!

Jag passade på att lägga till guiderna, det är lite juste att ha med dem. Ser att en del gjort det och andra inte. Men jag ångrar mig nästan. Får felmeddelande om headern som redan är skickad! Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/saxon/students/20122/vaan12/www/htmlphp/me/kmom03/guide.php:1) in /home/saxon/students/20122/vaan12/ www/htmlphp/me/kmom03/incl/config.php on line 3. Måste undersöka detta fel. Det som är riktigt irriterande är att på min lokala webserver får jag inte detta felmeddelande... Känns lite frustrerande! Okej, jag löste det! Ett "osynligt" mellanslag allra först i dokumentet! Det stod ju så i felmeddelandet också, men såg banne mig inget först i alla fall!

När jag försökte förstöra sessionen, trodde jag att jag höll på att förstöra hela webbplatsen! Plötsligt blev det error-meddelanden både här är och där... Väldigt nära att ge upp är jag nu. Tog en veckas paus och började undersöka och pilla på filerna igen... Rensade lite i mina mappar. Filerna har hamnat lite huller om buller! Till slut får jag ordning på allt. Ger mig i kast med Login-uppgiften och det går inte alls, hela sajten försvinner... Upptäckte då att det ska vara två olika login-filer ;). En i src-mappen också!

Efter mycket kämpande får jag tillslut ihop sajten, "plötsligt bara händer det" - som den kända sloganen går... och jag är jättenöjd!

Kmom04: CSS och en style-väljare i PHP

Det här momentet ser jag direkt att jag inte kommer att få några problem med, så jag sätter igång genast. ColorZilla behöver jag inte ladda ner, det har jag redan gjort. Pipetten sitter så fint uppe i högra hörnet av webbläsarfönstret... Firebug är ett fantastiskt verktyg som jag nästan alltid har på. Brukar kolla de flesta sajter jag besöker, hur de är uppbyggda!

Additiva och subtraktiva färger (det senare är tryckfärger) har jag koll på sedan tidigare. Likaså RGB, HSL samt hexfärger och alpha-värden. Typsnitt är jag också bekant med, efter 20 år som desktoppare ;) Googletypsnitt har jag tidigare hört talas om, men nu använde jag dem för första gången!

Idén med att välja stilmallar med en optionlista är genialisk! Superenkelt, bara spara dem i mappen. Och sedan lägga in kod på dem, som alternativa stilmallar i headern. Jag blev så nöjd med min nya stilmall, så jag satte den som "General stylesheet". Superrolig uppgift!

Kmom05: HTML-formulär och PHP

Det var en del att göra på detta kursmoment, och det började bra! Ännu känner jag mig inte helt bekväm med PHP och kopierar fortfarande en del. Jag försöker i alla fall skriva en del själv och framför allt ändrar jag i den eventuellt kopierade koden. Snart känner jag dock att det "lönar sig" att lägga ner den extra tid det tar att skriva allt själv från början till slut. Så ett första steg är att skriva av en del, istället för "copy-paste:a" eller skriva helt själv!

Att göra en ny stylesheet-väljare med redigerbar stylesheet, var inte så svårt. Bara att följa instruktionerna. Felkontrollen (om filen är skrivbar eller ej) var inte heller svår att hitta. Den ligger i en if-sats och beroende på om satsen är sann eller falsk, så får man antingen returvärde från funktionen "putFileContents()" i common.php (sann) eller en text i p-elementet med klassnamn "info" (raderna 82-84) i edit_stylesheet4.php (om satsen är falsk). Raderna ovanför inaktiverar spara-knappen. Jag inaktiverade även ångra-knappen för att det ska vara mer tydligt (kan man inte göra det ena så kan man inte göra det andra heller) att stylesheeten är skrivskyddad.

Momentet att göra multisidan "Blokket" krävde väldigt mycket arbete. Jag försökte skriva all kod själv (med mos filer som stöd) och det blev en del stavfel. Det blev också en del förvirring eftersom variabler och namn på objekt hade väldigt lika namn. Jag fick backa tillbaka ett steg och verkligen gå igenom alla variabelnamn. Bytte namn på dem för att överhuvudtaget kunna förstå vad det är som händer...Denna gång tittade jag väldigt mycket på andras redovisningar, kände mig helt ute på isen... men det gick ju till slut.

Mitt tips till andra som vill lära sig PHP: ta ett steg i taget. Spara backuper i varje steg (nån sorts versionshantering) så att du kan backa tillbaka när du tagit ett för stort kliv. Titta på nån annans kod och försök förstå vad som händer. Och framför allt, försök koda mycket själv - och få inte panik om ingenting till synes inte verkar fungera, det kan vara ett pyttepytte fel som som spökar. Ta en paus och försök sedan igen.

Kmom06: PHP och SQLite

Jag började att gå igenom SQLite-guiden och det var jättekul! Gjorde en helt egen databas som funkade alldeles utmärkt på min localhost. Det var ganska lätt att följa instruktionerna i övningarna.

Detta kursmoment var inte så väldigt ansträngande, det mesta var ju redan färdigt i o m Kmom05. Förutom att jag kopierade filer från kmom05, så skrev jag all kod själv nu. Fast jag tjuvtittade förstås hela tiden på MOS kod. Det gick bra förutom att det blev en hel del stavfel som jag fick rätta till... Jag känner att detta är ett bra sätt för mig att lära mig på, att skriva kod, antingen man skriver helt själv eller "kopierar". För mig betyder kroppsminnet mycket vid inlärning!

Jag har inte så mycket mer att tillägga. Momentet gick bra och var roligt :)

Vid tid som blev över passade jag på att förbättra sajten. Gjorde t.ex. ankarlänkar i sidomenyn på denna sida. Det har ju blivit rätt så mycket att scrolla...

Kmom07/10: Projekt och examination

1.1 Detta kursmoment var riktigt, riktigt svårt. Jag lyckades få ihop ett skal till slut, efter ganska många timmar. Hela jul- och nyårshelgen har jag funderat på hur jag ska designa sidan och kom till slut fram till att ett 1800-talstema kanske skulle passa bra. Började kolla upp lite och fastnade för det viktorianska (senare delen av 1800-talet), och en tidningsdesign, som jag stämningsmässigt tycker passar in på begravningstemat. Jag har dessutom använt @font-face och det validerar inte i Unicorn. Tycker det verkar fungera i alla fall i alla de fem största webbläsarna.

Jag ändrade en del i databasfilen för att få det att fungera efter min design, vilket kanske inte var tanken att man skulle göra. Är dock nöjd med resultatet, även om jag hade mer avancerade planer från början, på funktionaliteten...

1.2 De optionella kraven har jag inte implementerat denna gång. Hade fullt upp med att få det hela att fungera men är trots allt nöjd med tanke på att jag var helt novis på php innan kursens start.

1.3 Kursen i sin helhet har varit väldigt bra och pedagogisk. Tyvärr var jag lite bekväm i början och kopierade mycket kod, men efter hand har jag skrivit mer och mer själv... Om jag ska ge ett betyg, så blir det en stark 8! Kände mig lite vilsen i början, men efter varsam vägledning och peppning att det var okej att inte förstå allt och var okej att kopiera, så traskade jag lugnt vidare...

Jag skulle absolut rekommendera kursen vidare =)