Avatar billede henriktha Nybegynder
25. januar 2006 - 22:33 Der er 12 kommentarer og
1 løsning

Bruger tjek med array ?

Jeg har fået den ide at man til at tjekke om et brugernavn er optaget kan man lægge alle brugernavne i et array og så tjekke om det ønskede brugernavn findes i forvejen.

Til det har jeg 2 spørgsmål.

1. Hvordan laver jeg det array (php og mysql)

2. Hvordan skal jeg lave opslaget ??

Jeg regner med at lave det så den reagerer på det indtastede ved onblur= og så kommer med en msgbox hvis brugernavnet er optaget.
Avatar billede elskermad.dk Nybegynder
25. januar 2006 - 22:55 #1
Arrayet kan du lave ved at indsætte alle brugernavnene i et php array og skriv følgende:

<?

echo"
var brugernavne = array('" . implode("','",$brugernavne) . "');
";

?>

Opslaget kan du lave med en funktion med en for-løkke:

function optaget(brugernavn) {
  for (i=0;i<brugernavne.length;i++) {
      if (brugernavn == brugernavne[i]) return true
  }

  return false
}

<input type='text' name='brugernavn' onChange='if(optaget){alert("Brugernavnet er desværre optaget!");this.value=""}'>
Avatar billede henriktha Nybegynder
25. januar 2006 - 23:06 #2
Hmm... den siger at brugernavnet er optaget uanset hvad ??
Avatar billede elskermad.dk Nybegynder
25. januar 2006 - 23:15 #3
kan jeg se hvordan du har lavet (html-kode) så er det lidt mere overskueligt
Avatar billede roenving Novice
26. januar 2006 - 16:23 #4
Hrm, du glemmer at overføre værdien !-)

<input type='text' name='brugernavn' onChange='if(optaget(this.value)){alert("Brugernavnet er desværre optaget!");this.value=""}'>
Avatar billede henriktha Nybegynder
26. januar 2006 - 18:10 #5
Jeg har fået det stykket sammen sådan her:

function optaget(opret_bruger) {
  for (i=0;i<tjek_bruger.length;i++) {
      if (opret_bruger == tjek_bruger[i]) { alert("Brugernavnet "+ opret_bruger +" er desværre optaget!");   
      document.getElementById('opret_bruger').innerText = '';
     
      return true
      }     
  }
return false
}

Brugernavn: <input type="text" size="15" name="opret_bruger" onblur='optaget(this.value)'>

Men ville gerne have hvis det kunne lade sig gøre at den ikke lavede forskel på store og små bogstaver, samt at den lagde focus tilbage på brugernavn feltet hvis brugernavnet var optaget !
Avatar billede henriktha Nybegynder
26. januar 2006 - 18:20 #6
Glem det... har fået det til at virke :-)

Tak for hjælpen.....
Avatar billede roenving Novice
27. januar 2006 - 12:55 #7
-- men skal dit system ikke bruges på internettet ?-)
-- for det ovenstående virker vist kun i en enkelt browser ...
Avatar billede henriktha Nybegynder
27. januar 2006 - 13:46 #8
Hva mener du med det ???

Jo det kører client side hvis det er det du mener....
Avatar billede roenving Novice
27. januar 2006 - 14:01 #9
-- der er såvidt jeg ved kun een browser på markedet, der kan finde på at acceptere et name, når man eksplicit beder om et id, og den samme browser er også alene om at acceptere innerText ...
Avatar billede henriktha Nybegynder
27. januar 2006 - 16:52 #10
Ik at jeg fatter en klap af det du siger.... men det virker...
Avatar billede roenving Novice
27. januar 2006 - 17:18 #11
Hvilken browser har du testet i ?-)

-- for det er kun i IE, at det virker ...
Avatar billede henriktha Nybegynder
27. januar 2006 - 17:25 #12
IE og Mozilla Firefox - virker ok på begge ;-)

Hvilken løsning kunne du ellers foreslå ??
Avatar billede roenving Novice
27. januar 2006 - 17:27 #13
Hvis det bare skal virke, så f.eks.

      document.getElementById('opret_bruger').value = '';

-- og

Brugernavn: <input type="text" size="15" name="opret_bruger" id="opret_bruger" onblur='optaget(this.value)'>
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