Avatar billede spidr Nybegynder
29. maj 2006 - 01:14 Der er 21 kommentarer og
1 løsning

Form må ikke indeholde space.

Jeg har lavet en form hvor man kan oprette sig som bruger, men problemmet er at man kan oprette sig med mellemrum i navnet, og det giver nogle komplicationer.

Så ville høre om ikke der var en nem måde at undgå at brugeren kan bruge space i navnet?

Bruger lige i øjeblikket:


if ($sum > "40"){

echo "<br><br><div class=ups>Your stats are too godlike!</div><br><b>You got:</b><br>Strenght: $Styrke points<br>Charme: $Charme points<br>Fantasy: $Fantasi points<br>Intiligence: $Intiligent points<br>All together that gives <b>$sum</b> points, and you can only have 40!<br><br>Please click back in your browser to try again!";

}
elseif (mysql_num_rows($query) != "0"){

echo "<br><br><div class=ups>The username is allready taken!</div><br>Please click back in your browser to try again!";

}

Til at sørge for at brugeren ikke allerede er oprettet og at han ikke har snydt med sine stats. Så vil mene at man bare kan sætte en:

elseif ($Nickname INDEHOLDER MELLEMRUM){

echo "<br><br><div class=ups>Wups, you cant use space in your name!</div><br>Please click back in your browser to try again!";

}
Avatar billede olebole Juniormester
29. maj 2006 - 01:18 #1
<ole>

else if (strpos($Nickname, " ")!==false){

/mvh
</bole>
Avatar billede Slettet bruger
29. maj 2006 - 09:41 #2
Jeg kunne forestille mig, at det ville være nemmere at angive, hvilke tegn du vil tillade i brugernavne.

if(preg_match("/^\w{3,8}$/", $Nickname)){

tillader alle tal, bogstaver og underscores. Hvis du vil tillade andre karakterer kan du smide dem ind i en []:


if(preg_match("/^[a-z1-9_-æøå{3,8}$/i", $Nickname)){

Det efterfølgende "i" betyder, at hvis et småt bogstav er tilladt, er dettes store version ligeledes tilladt.
Avatar billede spidr Nybegynder
29. maj 2006 - 12:56 #3
Så med

if(preg_match("/^[a-z1-9_-æøå{3,8}$/i", $Nickname)){

er alle normale bogstaver og tal tildadt både i store og små?

men ting som $ spane , . ' og / er ikke tilladt?
Avatar billede Slettet bruger
29. maj 2006 - 13:00 #4
Præcis, og {3,8} betyder, at det skal være mellem 3 og 8 karakterer langt.
Avatar billede nielle Nybegynder
29. maj 2006 - 13:07 #5
I skal nok lige rette:

if(preg_match("/^[a-z1-9_-æøå{3,8}$/i", $Nickname)){

- til:

if(preg_match("/^[a-z1-9_æøå{3,8}-]$/i", $Nickname)){

- da en bindestreg inde midt i imellem et []-par har en særlig betydning.
Avatar billede nielle Nybegynder
29. maj 2006 - 13:08 #6
Skulle nok have været:

if(preg_match("/^[a-z1-9_æøå-]{3,8}$/i", $Nickname)){
Avatar billede Slettet bruger
29. maj 2006 - 13:09 #7
Nåh ja. Skal den så escapes ellers? Det e rjo en del af det.

Det skulle naturlgivis være:


if(preg_match("/^[a-z1-9æøå_-]{3,8}$/i", $Nickname)){
Avatar billede nielle Nybegynder
29. maj 2006 - 13:13 #8
Bindestregen placeres simpelthen som det sidste tegn i []-parentesen. :^)

Det kan godt være at den kan escapes, men det ved jeg faktisk ikke.
Avatar billede Slettet bruger
29. maj 2006 - 13:20 #9
oki. Well det virker i hvert fald som om vi er enige til sidst :)
Avatar billede nielle Nybegynder
29. maj 2006 - 13:23 #10
Yep :^)
Avatar billede spidr Nybegynder
29. maj 2006 - 19:42 #11
Så siger jeg mange tak :)

if(preg_match("/^[a-z1-9æøå_-]{3,8}$/i", $Nickname)){

er vidst den jeg vil gå efter ;)
Avatar billede Slettet bruger
29. maj 2006 - 19:56 #12
Jeg prøver at smide et svar så :)
Avatar billede spidr Nybegynder
29. maj 2006 - 19:56 #13
Hvad gør jeg galt her:

elseif (!preg_match("/^[a-z1-9æøå_-]{2,10}$/i", $Nickname)){

echo "<br><br><div class=ups>Your Username must be 2-10 characters long and may not contain any special characters!</div><br>Please click back in your browser to try again!";

}

elseif (!preg_match("/^[a-z1-9æøå_-]{2,10}$/i", $Password)){
echo "<br><br><div class=ups>Your Password must be 2-10 characters long and may not contain any special characters!</div><br>Please click back in your browser to try again!"
}
Avatar billede spidr Nybegynder
29. maj 2006 - 19:57 #14
og foresten kan man ikke bruge 0?
Avatar billede spidr Nybegynder
29. maj 2006 - 20:04 #15
Hvor er det typisk mig ikke at se den slags latterlige fejl og straks give min kunden skylden..

Jeg beklager, og tusind tak for hjælpen :)
Avatar billede nielle Nybegynder
29. maj 2006 - 20:07 #16
Skal de tre sidste poster læses som om at du stadig har et problem, eller som at du selv har løst problemet?
Avatar billede Slettet bruger
29. maj 2006 - 20:14 #17
Selv tak, hvis dine problemer er løst. :)
Avatar billede Slettet bruger
29. maj 2006 - 20:14 #18
Avatar billede olebole Juniormester
30. maj 2006 - 06:57 #19
- og naturligvis er der ingen tvivl om, dette er den gode løsning. Når der er travlt, har jeg det med at svare på spørgsmålet i stedet for at tænke. Så er det zq godt, der er andre, der kan bruge den skaldede side af kraniet  ;D
Avatar billede spidr Nybegynder
30. maj 2006 - 13:49 #20
Men du svarede jo faktisk på hvad jeg manglede ole, men wices gav mig bare mange flere muligheder, som jeg også har valgt at bruge :)

Men jo har klaret det, manglede job are ; :P
Avatar billede Slettet bruger
30. maj 2006 - 14:43 #21
spidr, Mit brugernavn er, som jeg også før har forsøgt at fortælle olebole, "Wicez" :)
Avatar billede spidr Nybegynder
30. maj 2006 - 19:56 #22
Ah sorry, jeg er da vidst rigtigt godt blind for tidne :S
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester