Øvelser i php som nybegynder.

Tags:    php

Hej med jer.

Nu er det sådan at jeg de sidste 3 uger har læst og kørt tonsvis af tuts og har nu sat mig for at forsøge at øve mig, eller hvad man skal kalde det men jeg er i det hele taget i tvivl.

Jeg har startet et forsøg med et login. Dette login er uden mysql, da jeg ellers "falder og slår mig", så jeg har givet det en fixed brugernavn og kode.

Men nu ved jeg overhovedet ikke hvor jeg skal smide det hen jeg har lavet, om jeg har gjort noget rigtigt eller forkert. Der er ikke rigtigt nogen der kan fortælle mig hvad jeg gør rigtigt eller hvad jeg gør forkort osv, derfor henvender jeg mig til jer..

Jeg gider ikke kopiere noget nogen har lavet, det skal være noget jeg selv har lavet så jeg kan "pudse min glorie" bagefter med en god fornemmelse i maven.

I behøver ikke komme med links til tuts, jeg tror jeg har omkring 50 styks selv.

Jeg håber, at i vil hjælpe/vejlede lidt ;)






Fold kodeboks ind/udKode 




Indlæg senest redigeret d. 28.02.2010 00:52 af Bruger #15720
3 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 1 karma
Sorter efter stemmer Sorter efter dato
Du kan gøre det lettere for dig selv (overbliksmæssigt) at programmere "objektorienteret". Det gør det 100 gange nemmere for dig selv at vedligeholde / udvide dit "system".

At kode objektorienteret er det man ser som det normale i dag og bør derfor også udføres hver gang - i hvert fald når man skal til at lave større. Det betyder samtidig man kan nøjes med at bruge den samme funktion på flere forskellige sider, blot ved at hente funktionen man har lavet.

Kort fortalt bygger du dine funktioner op i en ekstern PHP fil og eventuelt lægger disse i klasser. Fx. har man et loginsystem som man navngiver "Loginsystem" <- Dette er en klasse. Herunder laver man så diverse funktioner såsom "udfoer_login_funktion", "logud_funktion", gendan_password_funktion" osv...

Det er lidt tuf at begive sig ud i som ny koder, men man kan ligeså godt få det ind med modersmælken.

Det du gør er at have din XHTML (gemmes som *.php) i én fil og "includer" din php funktion som du ligger i en ekstern PHP fil.

Et eksempel kan være:

Fold kodeboks ind/udKode 


Og det kan man så udbygge lige så tosset man vil...

I din eksterne fil laver du så funktionen:

Fold kodeboks ind/udKode 


Om du gør det på denne måde eller gør det som du allerede har lavet giver i sidste ende det samme. Det er bare "pænere" at skrive det objektorienteret. :)

Hvis du vælger at sætte din action til en ekstern fil som fx checklogin.php: <form action="checklogin.php" method="post"> osv... skal du bruge samme teknik som ovenstående. Dvs en "Header" forespørgsel... :

header('Location:index.php');

Tip: får du en fejl om at header allerede er sendt er det fordi du har et usynligt mellemrum før dit første tegn i dokumentet du viderestiller til. Det er p***e irriterende ikke lige at vide det... :D



Det ser jo ud til næsten at kunne fungere når det bliver smidt på en server. Der er dog lige nogle ting du skal være obs på:

Du har skrevet:
Fold kodeboks ind/udKode 


Som man kender det fra XHTML skal du gerne have indrammet dine attributter. Det kan skrives på 2 måder:

Eksempel 1:
Fold kodeboks ind/udKode 


Eksempel 2:
Fold kodeboks ind/udKode 


Jeg bruger selv eksempel 1 da det ser pænere ud med anførselstegn når det bliver printet ud i browseren.

Det også vigtigt at du skriver alle reserverede ord korrekt eller med småt hele vejen igennem for de bliver genkendt korrekt... du har et enkelt sted skrevet "Echo" i stedet for "echo" og har et mellemrum i $username=$_POST [user];. Her har du desuden glemt et " ' " før og efter user:

$username=$_POST['user'];

Læs desuden lidt om sikkerheden bag PHP og SQL, mht injections før du fortsætter med denne del. I sitationer som $username=$_POST['user']; er det en rigtig god ting at vide hvornår man skal bruge såsom mysql_real_escape_string, stripslashes og addslashes.

Eksempel:
Fold kodeboks ind/udKode 


Vil mene dit næste skridt er at kigge på sessioner så browseren kan huske du er logget ind. Det gør det lidt sjovere at lege med.

Ellers generelt godt arbejde :)



Indlæg senest redigeret d. 28.02.2010 14:19 af Bruger #15306
Tak for det meget brugbare svar.

Ang. $username=$_POST[user] uden ' ' var jeg lidt i tvivl. Jeg forsøgte begge dele, og begge virkede. Men i følge et par tuts jeg har kørt igennem (2 forskellige personer) så blev der sagt, at hvis man ikke tildeler id'erne/names et par ' ' i html delen så skulle de heller ikke have det i php. Men jeg kan da forstå nu, at det er helt forkert det de har sagt.

Ang. stort og småt, så viste jeg det faktisk godt, men havde overset det. Du ved, i kampens hede ;)

Jeg har lige et par spørgsmål mere. Det script jeg har lavet, skal det i en php fil for sig selv? eks. jeg logger ind fra index.php - skal dette script så i eks logincheck.php? I såfald, hvordan får man den til at linke det videre til forsiden igen?

På forhånd mange tak :)



Indlæg senest redigeret d. 28.02.2010 21:59 af Bruger #15720
t