Avatar billede whizzper Nybegynder
29. juni 2005 - 21:06 Der er 17 kommentarer og
1 løsning

Opret bruger system - Mellem 3 og 10 tegn

Jeg er igang med et opret bruger system, hvordan laver jeg sådan at man kun kan oprette en bruger hvis man har skrevet mellem 3 og 10 tegn i brugernavn felt?
Avatar billede claus_joergensen Nybegynder
29. juni 2005 - 21:11 #1
Javascript kan jo omgåes :)

Men du kan gøre sådan her:
<input type="text" name="username" maxlength="10" />
maxlength gør at brugeren ikke kan skrive mere end 10 tegn, så mangler vi kun minimum.

Jeg ville nu kraftigt anbefale php, og dertil kan du bruge www.php.net/strlen
Avatar billede whizzper Nybegynder
29. juni 2005 - 21:19 #2
Nej jeg mener sådan at du skriver et brugernavn, og trykker på opret så skriver den "Du blev ikke oprettet fordi ikke har indtastet et brugernavn imellem 3 og 10"
Avatar billede busschou Praktikant
29. juni 2005 - 21:22 #3
noget ala
<input type="text" onblur="if (this.value.length >= 3 && this.value.length <= 10){alert(du skal indtaste mere end 3 of færre end 10);this.value = '';}">
Avatar billede claus_joergensen Nybegynder
29. juni 2005 - 21:22 #4
ja, det kan php da også sagtens gøre, sådan fungere det ihvertfald i alle mine systemer.

Og ved at bruge javascript kan man jo også risikere at brugerne uden JS for problemer.
Og du skal jo under alle omstændigheder validere koden serverside, INTET brugerinput må bruges uden passende validering serverside.
Avatar billede busschou Praktikant
29. juni 2005 - 21:22 #5
men igen skal du tjekke det serverside enten via php eller asp eller ja noget andet ;o).. for man kan jo slå javascript fra
Avatar billede whizzper Nybegynder
29. juni 2005 - 21:24 #6
<form action="?opret=bruger" method="post">
<input type="text" name="username" onblur="if (this.value.length >= 3 && this.value.length <= 10){alert(du skal indtaste mere end 3 of færre end 10);this.value = '';}"><br>
<input type="submit" value="opret">
</form>


det virker ikke helt ;)
Avatar billede claus_joergensen Nybegynder
29. juni 2005 - 21:24 #7
busschou

Please, lad os da så give ham en innerhtml løsning, alert() boxe er det MINDST brugervenlige i dette årtusinde, og de er også pisseirreterende.

if (this.value.length >= 3 && this.value.length <= 10)
{
  document.getElementByID('errorDiv').innerHTML = "Du skal indtaste mere end 3 of færre end 10";
}

til en passende <div style="color: red;" id="errorDiv"></div>
Avatar billede nielle Nybegynder
29. juni 2005 - 21:31 #8
Husk nu lige at tage højde for at brugeren kan finde på at indtaste et par mellemrum foran eller bagi.
Avatar billede whizzper Nybegynder
29. juni 2005 - 21:36 #9
<?php
if($_GET['opret'] == "bruger"){
?>
<script>
if (this.value.length >= 3 && this.value.length <= 10)
{
  document.getElementByID('errorDiv').innerHTML = "Du skal indtaste mere end 3 of færre end 10";
}
</script>
}
?>
<div style="color: red;" id="errorDiv"></div>
<form action="?opret=bruger" method="post">
<input type="text" name="username" onblur="if (this.value.length >= 3 && this.value.length <= 10){alert(du skal indtaste mere end 3 of færre end 10);this.value = '';}"><br>
<input type="submit" value="opret">
</form>
Avatar billede whizzper Nybegynder
29. juni 2005 - 21:37 #10
Virker ikk helt ;)
Avatar billede softspot Forsker
29. juni 2005 - 23:37 #11
Mon jeg har læst korrekt...?

Skal scriptet ikke se således ud (og det er altså betingelsen der er "vendt"):

<script type="text/javascript">
if (this.value.length < 3 || this.value.length > 10)
{
  document.getElementByID('errorDiv').innerHTML = "Du skal indtaste mere end 3 of færre end 10";
}
</script>
Avatar billede busschou Praktikant
30. juni 2005 - 06:10 #12
claus_joergensen >> Smag og behag - hvorfor synes du at alert bokse ikke er brugervenlige?
1) De giver en beskrivende advarsel
2) Du klikker ok og kan rette din fejl
Innerhtml løsning i en div - tja..Hvis det er en ekstra div som ellers ikke indgår i designet så kan vel den spolere designet når der pludselig kommer fyld i den?

Ja jeg lavede en smutter og fik byttet om på større end og mindre end tegnene :o)
Men jeg kan ikke se at en alert boks skulle være det mindst brugervenlige i dette årtusinde - jo hvis der ingen tekst er i den .. så jo
Men det forekommer jo kun i M$produkter at man får en alert fejl med beskeden "der er sket en fejl" ;o)
Avatar billede olebole Juniormester
30. juni 2005 - 11:29 #13
<ole>

Måske, alert-bokse er 'pisseirriterende' - men det er da intet at regne i forhold til visse brugere, der - mod bedre vidende - insisterer på at give tåbelige løsninger og lokke andre brugere til at skrive dårlig kode!

claus_joergensen >> Du insisterer på at skrive alle dine løsningsforslag i XHTML. Så er det da ikke begavet at anbefale en innerHTML-løsning - da jeg jo positivt ved, du udmærket er klar over, at innerHTML er komplet ubrugelig under XHTML og vil crashe enhver browser, der forsøger at parse siden som XHTML.

Definerer vi en bruger som en Eksperten-bruger, er den slags løsninger negationen af brugervenlighed ... i hvert fald, når de bliver afgivet mod bedre vidende.

Hvorfor dog anbefale invalid kode? Når andre gør det samme, står du som oftest på første række med armene højt hævet over hovedet og tilråb om rendyrket idioti.
For mig at se, har du en yderst selektiv opfattelse af begrebet 'idioti' - eller en temmelig urealistisk opfattelse af dig selv  :)

/mvh
</bole>
Avatar billede claus_joergensen Nybegynder
30. juni 2005 - 20:13 #14
olebole

"innerHTML er komplet ubrugelig under XHTML" << nej var jeg ikke klar over, men du kunne jo passende give et version uden brug af alert() som også vil virke i xhtml, istedet for at forsøge at nedgøre mig (er det ikke formålet?)

"crashe enhver browser, der forsøger at parse siden som XHTML" << men jeg havde nok fundet ud af det hvis nogen brugere parsede som xhtml.

"Du insisterer på at skrive alle dine løsningsforslag i XHTML"

/> er blevet ren vane tastning, da jeg går mere og mere over til XSL løsninger, som dog fint kan outputte html 4.0 hvis man vil, eller bare lade det bliver i XML format.

I det mindste skriver jeg html løsninger som virker i alle browsere, og mit javascript er ikke document.all vel ?

Derudover giver jeg i (rigtig rigtig) mange tilfælde html 4.01 kode, det er ved at være længe siden jeg har postet et xhtml doctype på eksperten.dk

Hvorfor dog anbefale invalid kode? Når andre gør det samme, står du som oftest på første række med armene højt hævet over hovedet og tilråb om rendyrket idioti.

Yes sir ! Dog plejer tilråbene kun at komme EFTER de har nægtet at tro på valid kode er det mest fornuftige. Alle kan lave fejl, også mig, men i det mindste vælger jeg at lytte.
Avatar billede claus_joergensen Nybegynder
30. juni 2005 - 20:18 #15
Og hvis vi lige skal afslutte mht. innerHTML så kommer min viden om innerHTML fra en 400 siders bog om javascript fra Ingegøren, men de BRUGT SKU document.all !

Og javascript er så uendelig dårlig dokumenteret i forhold til html/php/java.
Hvis du kan henvise til noget ordenlig dokumentation som ikke starter med MSDN, ville jeg bliver glad.
Avatar billede claus_joergensen Nybegynder
30. juni 2005 - 20:24 #16
Forresten , "idiot" + mit nick, giver faretruende få resultater (kan ikke finde nogen) så ved ikke hvorfra har at jeg kalder folk det ?
Avatar billede busschou Praktikant
30. juni 2005 - 20:39 #17
sikken en masse råben op
Nå men jeg lagde det første javascript løsnings forslag, så derfor lægger jeg et svar nu inden det her kører helt af sporet :o)
Avatar billede olebole Juniormester
30. juni 2005 - 21:27 #18
Det kommer dybt bag på mig, du ikke er klar over det. Vi har da ellers før diskuteret XHTML og jeg har da også adskillige gange henvist til:
  http://www.eksperten.dk/artikler/537
  http://www.eksperten.dk/artikler/538

innerHTML, document.write, document.forms, document.images, m.fl. tilhører HTML-DOM'en - og kan derfor ikke bruges under XHTML, der jo er XML. At det lader sig gøre idag skyldes, at stort set ingen XHTML-sider parses som sådan, men som HTML.

At du får nogen over næbbet, må du vel forvente, når du fører dig så skråsikkert frem - og vrøvler  :)
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