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 tema
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
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