04. marts 2008 - 11:03
Der er
20 kommentarer og 2 løsninger
forståelse for Preg_replace
Hej jeg har noget kode som jeg har svært ved at forstå. håber i kan hjælpe lidt. koden ser således ud: function CheckLogin($Username, $Password) { $Username = preg_replace("#[^a-zA-Z0-9-_\.]#", "", $Username); $Query = mysql_query("SELECT * FROM users WHERE username='". $Username ."' AND password='". $Password ."'"); $Row = mysql_fetch_array($Query); if(!empty($Row) && $Row["password"] == $Password && $Row["username"] == $Username) { $_SESSION['Username'] = $Username; $_SESSION['Password'] = $Password; return true; } else { return false; } } det er selve denne kode jeg har lidt svær ved at tyde: $Username = preg_replace("#[^a-zA-Z0-9-_\.]#", "", $Username);
Annonceindlæg fra Computerworld it-jobbank
04. marts 2008 - 11:05
#1
Vil du bare vide, hvad den gør? Det ser ud til, at den med regular expressions (reg.exp.) fjerner alt andet end a-Z, A-Z, 0-9, bindestreg, underscore og punktum.
04. marts 2008 - 11:36
#2
ja vil bare vide hvad den gør. skal skrive noget dokumentation om min kode.
04. marts 2008 - 11:39
#3
Ja, men det er så det, den gør. =) Kender du lidt til reg.exp.? Som sagt fjerner den bare alle andre tegn, ser det ud til.
04. marts 2008 - 11:48
#4
nej kender ikke til reg.exp. okay det lyder som en god forklaring til den..
04. marts 2008 - 11:50
#5
Reg.Exp. bruges til at matche "mønstre" med. F.eks. er dit mønster her: andre forekomster end a-Z, A-Z, 0-9, bindestreg, underscore og punktum fjernes.
Se evt.
http://www.eksperten.dk/artikler/1156
04. marts 2008 - 12:00
#6
okay.. lyder som en god ting.
04. marts 2008 - 12:29
#7
Der er i øvrigt to små fejl i den: $Username = preg_replace("#[^a-zA-Z0-9-_\.]#", "", $Username); - skal rettes til: $Username = preg_replace("#[^a-zA-Z0-9_.-]#", "", $Username); ... og det kan forresten skrives lidt kortere: $Username = preg_replace("#[^a-z0-9_.-]#i", "", $Username);
04. marts 2008 - 12:32
#8
skal du ikke have \ med også?
04. marts 2008 - 12:33
#9
Nej - ikke inde i en [...] - hvsi punktummet er udenfor [...] så skal det være der.
04. marts 2008 - 12:36
#10
Det værste var nu mere den bindestreg som stod et forkert sted, og dermed havde en helt anden virkning end det forventede.
04. marts 2008 - 12:40
#11
okay. det er svar nok. tak for det.. svare du lige på den?
04. marts 2008 - 12:41
#12
w13 eller mig?
04. marts 2008 - 12:47
#13
ville gerne give jer begge er det muligt.. havde ikke opdaget det var to forskellige. :D
04. marts 2008 - 12:49
#14
I orden med mig under forudsætning af at w13 får langt de fleste (i øvrigt har jeg allerede tjent 5 på artiklen - håber at du får noget ud af den?).
04. marts 2008 - 12:54
#15
:)
04. marts 2008 - 12:54
#16
^^
04. marts 2008 - 12:55
#17
ja det er en god artikel.. men hvordan afgiver jeg pointne?
04. marts 2008 - 12:55
#18
Når Nielle har svaret, kan det gøres nederst på denne side. Det hedder vist "Avanceret pointdeling" eller sådan noget..
04. marts 2008 - 12:56
#19
Svar :^)
04. marts 2008 - 13:09
#20
sådan tak for hjælpen begge 2
04. marts 2008 - 13:15
#21
Tak for point :^)
05. marts 2008 - 11:19
#22
Tak for point! :)
Kurser inden for grundlæggende programmering