PHP OOP Login system

Tags:    php

Hej.
Jeg er igang med et projekt hvor vi koder Objekt-orienteret PHP.
Dog er jeg ikke den bedste, men jeg kan se det smarte i det.
Mit login system driller..
enten kan man ikke Logge ind "for di man har givet forkerte oplysninger" eller fordi den ikke gider begynde at checke formen ;S

så her er det:

login.php :
Fold kodeboks ind/udPHP kode 



_class/settings.php :
Fold kodeboks ind/udPHP kode 

_class/login.php :
Fold kodeboks ind/udPHP kode 




Indlæg senest redigeret d. 29.01.2009 20:50 af Bruger #13899
6 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 3 karma
Sorter efter stemmer Sorter efter dato
Et par kommentarer,
hvis du bruger kræfter på at kryptere dit kodeord med md5 og sha hvorfor sender du så ikke det krypteret til checkform?.

checkform burde enten returnere true eller false, ikke html.

At bruge php til at teste på om email og password passer med den returneret række er spild af kræfter da din sql allerede har testet det.

Hvis du hardkoder formen ind i din klasse på den måde hvorfor så ikke udnytte det til at gøre funktions kaldene lettere, det burde være nok for dig bare at kalde checkform uden parameter, denne funktion kan jo så selv teste om det er dens form der er blevet submittet og hente pass og email fra Post hvis det er, vil lige bemærke at jeg synes det en dårlig ide at hard kode sin html(GUI), ind i sin control klasser.

din variable $login er faktisk din database control måske ikke videre indlysende at kalde den login i stedet for db, database eller noget i den retning, ligesom at connect måske er et bedre funktions navn ind login.




Den sidste kom ikke med :S

_class/login.php :
Fold kodeboks ind/udPHP kode 




.. Det er ikke dumt at tjekke igen, på den måde vil man ikke kunne lave sql injections.

Der skal emailen oplyst være ens med den bruger man autentificere sig med.



Kan ikke lige se hvorfor det skulle beskytte mod injektions, da det jo ligger efter at han har udført sql'en.

Er i øvrigt ikke sikker på at du kan referer i et array som var det et objekt: $row->pass skulle være $row['pass'] eller du kan evt. bruge mysql_fetch_object i stedet.



Tak, Nørden!
Jeg har skrevet det med k -.-
Derfor jeg ikke brugte det mere ;)



Har fundet en løsning Nørden for 60 UP.



t