Show sourcecode

The following files exists in this folder. Click to view.

test/incl/reports/

BMO.php
kmom1.php
kmom2.php
kmom3.php
kmom4.php
kmom5.php
kmom6.php
report-default.php

kmom5.php

1 lines UTF-8 Unix (LF)
1
<h2>Kmom05: HTML-formulär och PHP</h2>

<p><strong>Konto-informationen som behövs för att logga in på min sida:</strong></p>
<p>Användarnamn: nicolas</p>
<p>Lösenord: password</p>

<p><strong>1.  Reflektera över svårigheter/problem/lösningar/resultatet, etc.</strong></p>
<p>Jag tyckte inte att kursmomentet var svårt då man i kursmomentet precis innan hade ungefär samma sorts funktionalitet att utveckla, dvs. inläsning av filer, dock med tilläggen att man nu skulle kunna skapa nya filer samt ändra i filer.</p>

<p>Jag prövade att koda helt på egen hand (bortsett från att jag lade till och brukar MOS table.css), så denna gång skrev jag även koden som sköter filhanteringen själv, till skillnad från i förra momentet där jag brukade den färdiga readDirectory-funktionen från MOS kod.</p>

<p>De största utmaningarna var för mig att koda min update-article.php (för uppdaterandet av annonser på Blokket) och edit-stylesheet.php (för redigerandet av stylesheets), främst eftersom de brukade två forms var som behövde samarbeta på så vis att en behövda förmedla information till den andra (vilket löstes via bruk av hidden-fält som lagrade och åter-submittade värden).</p>

<p>Ångra-funktionaliteten för de båda är vid detta lag mycket simpel eftersom den helt enkelt tar bort alla ändringar som gjorts. Att koda in ”ordentlig” undo-funktionalitet kände jag dock var överkurs för momentet.</p>

<p>Jag tänkte att när man skapar en ny annons så borde man lika gärna kunna få skriva in dess innehåll på samma gång, vilket inte är fallet i MOS variant av Blokket. Jag noterade dock att så går det till i MOS variant av Blokket2 och i skrivande stund har jag valt att vänta med sådan funktionalitet tills jag också implementerar den för min variant av Blokket2.</p>

<p>I skrivande stund är det så att man inte alltid omedelbart ser ändringar som skall synas för att man redigerat ett stylesheet som dessutom just då är valt för sajten. Detta gäller både på min sajt och MOS sajt, för vilka det kan krävas att man ex. refreshar sidan en gång efter att man gjort en första ändring för att sajten så att den sedan direkt skall hänga med ev. efterföljande ändringar när dessa sparas.</p>

<p>Det vore smidigt om man alltid omedelbart såg ändringar man gjort i ett stylesheet som är valt och jag tror man kanske skulle kunna se till att alltid få omedelbar uppdatering genom att fastställa ändringarna på en processing-sida (som sedan redirectar en tillbaka till stylesheet-redigeraren), men då jag kom att tänka på sent är det inget som jag hunnit implementera innan den rekommenderade inlämningstiden för kursmomentet.</p>

<p>Allmänt om kursmomentet: Jag tyckte att stylesheet-editorn kanske bättre kunde ha hört till samma kursmoment som style-sheet-väljaren, eftersom jag tyckte man hade mer än tillräckligt med tid för att skriva style-sheet-väljaren och ens extra stylesheet.</p>

<p><strong>2.  Hur känns det med PHP-programmeringen, har du kommit in i det? Är det svårt?</strong></p>
<p>Det börjar känns så gott som ”som hemma” vid detta lag och jag tycker inte där är svårt. För mig tror jag att det, förutom att lära mig mer i allmänhet, mest gäller att se till att inte göra onödigt arbete när jag ska kombinera PHP med HTML-mark-up, och gärna se till att göra detta på ett vis som gör att jag kan återvända PHP-koden enklare.</p>

<p><strong>3.  Vilka är dina tips till en ovan PHP-programmerare?</strong></p>
Mina främsta tips är att man

<ul>
<li>bekantar sig med PHP-manualen och ser över grunderna i hur man kan hantera variabler (type-juggling, osv.) samt hur man kan styra exekveringsflödet (med if- och switch-satser och vad mer som nu kanske finns).</li>
<li>ser till att få en känsla för hur man på enkla vis kan blanda PHP med HTML-mark-up, ex. genom string-appends för att dynamiskt bygga upp HTML-mark-up som sedan echoas på plats, samt dynamisk generering av HTML-mark-up i allmänhet.</li>
<li>prövar att inte ha PHP-slut-tags  (?>) när dessa, om de tas med, skulle vara det sista som är inskrivet på en PHP-sida, eftersom att om man har med sådana tags och sedan råkar ha med ytterliggare karaktärer efter de så skickas headers ev. för tidigt.</li>
<li>har igång ”error reporting” med inställningen E_ALL (-1) under utvecklingen, för att vara säker på att uppmärksammas om även de sorts fel som inte nödvändigtvis hindrar koden från att ”fungera”.</li>
<li>prövar på att arbeta i ett IDE, ex. PhpStorm, vars syntax-highlighting och code-completion är behändig och kan vara lite lärorik pga ex. code-completion-förslag ger en en glimt in i php-funktioner som man ännu inte funnit anledning att bruka.</li>
<li>kollar upp information om säkerhetsrisker (ex. SQL injections) och vad man kan göra åt de (ex. strip_tags) så att man känner till om detta tidigt, för att ha i åtanke för ev. webbprojekt med komponent (ex. databaser) som behöver hållas säkra.</li>
<li>inte glömmer att validera efter att man färdigställt en sida med PHP-kode, eftersom ens bruk av PHP ibland får en att ändra på en del HTML-markup, samt ev. CSS-inställningar i filen där man lägger till php-kod, som tidigare validerats korrekt.</li>
</ul>

<p><strong>4.  Har du nytta av guiden php20?</strong></p>
<p>Jag läste guiden innan jag satte igång så den kan nog ha varit till hjälp, då den ju går över det som behövs för kursmomenten och mer därtill, men när jag stötte på något fel som var php-relaterat och jag inte snabbt kom på vad jag måste ha gjort för fel så blev det så att jag kollade i PHP-manualen samt sökte online mycket oftare än jag kollade tillbaka på php20-guiden.</p>