Avatar billede tekniskdesigner Nybegynder
23. februar 2005 - 21:44 Der er 19 kommentarer og
1 løsning

2 ens koder

Hej

Hvordan laver jeg det sådan at når folk indtaster deres kode så skal den indtastes 2 gange og de skal være ens ???

Min kode ser sådan her ud:

<form action="createuser.asp" method="post">
Indtast det ønskede brugernavn<BR>
<input type="text" name="Brugernavn"><BR>
Indtast kodeord<BR>
<input type="password" name="Adgangskode"><BR>
<input type="hidden" name="Status" value="1">
<input type="submit" value="Opret">
</form>
Avatar billede trekkies Juniormester
23. februar 2005 - 22:05 #1
Du indsætter denne i din form:
onsubmit="return Check_Form(this)"
Så din form kommer til at se sådan ud:
<form action="createuser.asp" method="post" onsubmit="return Check_Form(this)">

Og dette script sætter du ind på din side:
<script language=javascript>
<!--
    function Check_Form(theForm)
{
        err = '';

    if (theForm.password.value != theForm.password_kontrol.value)
    {
        err += "Dit password er ikke ens, prøv igen\r";
    }
       
    if (err!= '')
    {
        alert('Du bedes udfylde følgende felter:\r' + err);
            return (false);
    }
        else
    {
            return (true);
    }
}
//-->
</script>

Du skal rette scriptet til der hvor at der står:
if (theForm.password.value != theForm.password_kontrol.value)
Avatar billede tekniskdesigner Nybegynder
23. februar 2005 - 22:11 #2
Det forstår jeg ikke lige...

Jeg har følgende filer:

newuser.asp med koden
<form action="createuser.asp" method="post">
Indtast det ønskede brugernavn<BR>
<input type="text" name="Brugernavn"><BR>
Indtast kodeord<BR>
<input type="password" name="Adgangskode"><BR>
<input type="hidden" name="Status" value="1">
<input type="submit" value="Opret">
</form>

Også har jeg

createuser.asp med koden
<%
' ADODB connection objektet
Set Conn = Server.CreateObject("ADODB.Connection")
' Husk at angive den rigtige sti til din database
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("_Private/Users.mdb")
' Åben databaseforbindelsen
Conn.Open DSN
%>

<%
strSQL = "Insert into user (Brugernavn, Adgangskode, Status)"
strSQL = strSQL & "values('" & Request.Form("Brugernavn") & "', '" & Request.Form("Adgangskode") & "', '" & Request.Form("Status") & "')"
'Response.Write strSQL
Conn.Execute(strSQL)
%>


<%
' Luk databaseforbindelse
Conn.Close
Set Conn = Nothing
%>

<html>
<title>Din profil</title>
<head>
</head>
<body>
Din bruger er nu oprettet
</body>
</html>


Hva skal rettes til og hvordan ?
Avatar billede trekkies Juniormester
23. februar 2005 - 22:15 #3
Du skal indsætte onsubmit="return Check_Form(this)" i din start form, når at du klikker på Opret, så undersøger den med scriptet og din kode.

<script language=javascript>
<!--
    function Check_Form(theForm)
{
        err = '';

    if (theForm.password.value != theForm.password_kontrol.value)
    {
        err += "Dit password er ikke ens, prøv igen\r";
    }
       
    if (err!= '')
    {
        alert('Du bedes udfylde følgende felter:\r' + err);
            return (false);
    }
        else
    {
            return (true);
    }
}
//-->
</script>

Det er det som undersøger din kode.

1.
Din start form skal se sådan ud:
<form action="createuser.asp" method="post" onsubmit="return Check_Form(this)">

Din html kode skal se sådan ud:
<html>
<title>
Din titel på siden
</title>
</head>
<body>
<script language=javascript>
<!--
    function Check_Form(theForm)
{
        err = '';

    if (theForm.password.value != theForm.password_kontrol.value)
    {
        err += "Dit password er ikke ens, prøv igen\r";
    }
       
    if (err!= '')
    {
        alert('Du bedes udfylde følgende felter:\r' + err);
            return (false);
    }
        else
    {
            return (true);
    }
}
//-->
</script>
<form action="createuser.asp" method="post">
Indtast det ønskede brugernavn<BR>
<input type="text" name="Brugernavn"><BR>
Indtast kodeord<BR>
<input type="password" name="Adgangskode"><BR>
<input type="hidden" name="Status" value="1">
<input type="submit" value="Opret">
</form>
</body>
</html>
Avatar billede tekniskdesigner Nybegynder
23. februar 2005 - 22:19 #4
Øh nu er jeg helt lost...

Hva skal i hvilken fil ???
Avatar billede trekkies Juniormester
23. februar 2005 - 22:21 #5
Så den måde.
Du skal kun have din side åben som du har din html kode på.
Avatar billede tekniskdesigner Nybegynder
23. februar 2005 - 22:22 #6
Sorry fatter stadig minus, kan du ikke prøve at skrive filerne for mig ?
Avatar billede trekkies Juniormester
23. februar 2005 - 22:23 #7
OK. skriver igen om lidt...
Avatar billede trekkies Juniormester
23. februar 2005 - 22:24 #8
Hvad skal undersøges for 2 gang, og skal være ens, skal det være Brugernavn eller Adgangskode?
Avatar billede tekniskdesigner Nybegynder
23. februar 2005 - 22:26 #9
Adgangskode
Avatar billede trekkies Juniormester
23. februar 2005 - 22:32 #10
Du kan bruge denne kode:
<html>
<head>
<title>
Din titel på din side
</title>
</head>
<script language=javascript>
<!--
    function Check_Form(theForm)
{
        err = '';

    if (theForm.Adgangskode.value != theForm.Adgangskode_kontrol.value)
    {
        err += "Den indtastet kodeord er ikke ens, prøv igen\r";
    }
       
    if (err!= '')
    {
        alert('Du bedes udfylde følgende felter:\r' + err);
            return (false);
    }
        else
    {
            return (true);
    }
}
//-->
</script>
<body>
<form action="createuser.asp" method="post" onsubmit="return Check_Form(this)">
Indtast det ønskede brugernavn
    <BR>
<input type="text" name="Brugernavn">
    <p>
Indtast kodeord
    <br>
<input type="password" name="Adgangskode_kontrol">
    <BR>
Indtast ønskede kodeord igen for kontrol
    <br>
<input type="password" name="Adgangskode">
    <br>
<input type="hidden" name="Status" value="1">
<input type="submit" value="Opret">
</form>
</body>
</html>
Avatar billede tekniskdesigner Nybegynder
23. februar 2005 - 22:34 #11
Cool det funker bare, takker endnu engang :D

Smider du lige et svar ?
Avatar billede trekkies Juniormester
23. februar 2005 - 22:35 #12
Må din bruger gerne indsætte speciale tegn i din bokse, f.eks. ved adgangskode og brugernavn?
Det kunne f.eks. være nogle af disse tegn:
' * # " ! / o.s.v.
Avatar billede tekniskdesigner Nybegynder
23. februar 2005 - 22:36 #13
nej helst ikke
Avatar billede trekkies Juniormester
23. februar 2005 - 22:37 #14
Hvis det gælder for måde adgangskode og brugernavn, så kan jeg sende en kode som kan fjerne disse tegn.
Avatar billede tekniskdesigner Nybegynder
23. februar 2005 - 22:38 #15
det kunne være cool
Avatar billede trekkies Juniormester
23. februar 2005 - 22:38 #16
Igen et svar :)
Avatar billede trekkies Juniormester
23. februar 2005 - 22:59 #17
Ændre dit script til dette:
<script language=javascript>
<!--
    function Check_Form(theForm)
{
        err = '';

    if (theForm.Brugernavn.value == '')
    {
        err += "Dit Brugernavn\r";
    }
    else
    {
        test = theForm.Brugernavn.value;
        test = test.replace('<','');
        test = test.replace('>','');
        test = test.replace(':','');
        test = test.replace('¨','');
        test = test.replace('^','');
        test = test.replace('~', '');
        test = test.replace('*','');
        test = test.replace('!','');
        test = test.replace(',','');
        test = test.replace('"','');
        test = test.replace('#','');
        test = test.replace('£','');
        test = test.replace('@','');
        test = test.replace('¤','');
        test = test.replace('$','');
        test = test.replace('%','');
        test = test.replace('€','');
        test = test.replace('&','');
        test = test.replace('/','');
        test = test.replace('{','');
        test = test.replace('(','');
        test = test.replace('[','');
        test = test.replace(']','');
        test = test.replace('}','');
        test = test.replace('=','');
        test = test.replace('?','');
        test = test.replace('+','');
        test = test.replace('´','');
        test = test.replace('´','');
        test = test.replace('|','');
        theForm.Brugernavn.value = test;
    }

    if (theForm.Adgangskode.value == '')
    {
        err += "Dit Password\r";
    }
    else
    {
        test = theForm.Adgangskode.value;
        test = test.replace('<','');
        test = test.replace('>','');
        test = test.replace(':','');
        test = test.replace('¨','');
        test = test.replace('^','');
        test = test.replace('~', '');
        test = test.replace('*','');
        test = test.replace('!','');
        test = test.replace(',','');
        test = test.replace('"','');
        test = test.replace('#','');
        test = test.replace('£','');
        test = test.replace('@','');
        test = test.replace('¤','');
        test = test.replace('$','');
        test = test.replace('%','');
        test = test.replace('€','');
        test = test.replace('&','');
        test = test.replace('/','');
        test = test.replace('{','');
        test = test.replace('(','');
        test = test.replace('[','');
        test = test.replace(']','');
        test = test.replace('}','');
        test = test.replace('=','');
        test = test.replace('?','');
        test = test.replace('+','');
        test = test.replace('´','');
        test = test.replace('´','');
        test = test.replace('|','');
        theForm.Adgangskode.value = test;
    }
   
        if (theForm.Adgangskode_kontrol.value == '')
    {
        err += "Dit Password\r";
    }
    else
    {
        test = theForm.Adgangskode_kontrol.value;
        test = test.replace('<','');
        test = test.replace('>','');
        test = test.replace(':','');
        test = test.replace('¨','');
        test = test.replace('^','');
        test = test.replace('~', '');
        test = test.replace('*','');
        test = test.replace('!','');
        test = test.replace(',','');
        test = test.replace('"','');
        test = test.replace('#','');
        test = test.replace('£','');
        test = test.replace('@','');
        test = test.replace('¤','');
        test = test.replace('$','');
        test = test.replace('%','');
        test = test.replace('€','');
        test = test.replace('&','');
        test = test.replace('/','');
        test = test.replace('{','');
        test = test.replace('(','');
        test = test.replace('[','');
        test = test.replace(']','');
        test = test.replace('}','');
        test = test.replace('=','');
        test = test.replace('?','');
        test = test.replace('+','');
        test = test.replace('´','');
        test = test.replace('´','');
        test = test.replace('|','');
        theForm.Adgangskode_kontrol.value = test;
    }

    if (theForm.Adgangskode.value != theForm.Adgangskode_kontrol.value)
    {
        err += "Dit password er ikke ens, prøv igen\r";
    }
       
    if (err!= '')
    {
        alert('Du bedes udfylde følgende felter:\r' + err);
            return (false);
    }
        else
    {
            return (true);
    }
}
//-->
</script>

Så bliver de forskellige tegn fjernet når du klikker på "Opret", du kan selv tilføje eller fjerne nogle af disse tegn, dette gøres ved at ændre f.eks. dette:
test = test.replace('[','');
Det er dette som du skal ændre:
('Det tegn som skal fjerns','Dette tegn som skal skriver i stedet for, hvis der skal være ingenting, så skal der bare være ''  ');
Avatar billede trekkies Juniormester
23. februar 2005 - 23:06 #18
Da jeg var ved at lave koden til fjernelse af tegnene, så opdagede jeg at du lige skal bytte om på følgende ting:
<input type="password" name="Adgangskode_kontrol">
    <BR>
Indtast ønskede kodeord igen for kontrol
    <br>
<input type="password" name="Adgangskode">


Så det bliver sådan:
<input type="password" name="Adgangskode">
    <BR>
Indtast ønskede kodeord igen for kontrol
    <br>
<input type="password" name="Adgangskode_kontrol">
Avatar billede tekniskdesigner Nybegynder
23. februar 2005 - 23:19 #19
Oki cool takker endnu engang
Avatar billede roenving Novice
24. februar 2005 - 17:06 #20
-- og så er der en smart ting, man kan bruge til sådan noget streng-behandling, nemlig regular expressions, og det er i dette tilfælde det eneste rigtige:

    if (theForm.Brugernavn.value == '')
    {
        err += "Dit Brugernavn\r";
    }
    else
    {
        test = theForm.Brugernavn.value;
        theForm.Brugernavn.value = test.replace(/[<>:¨\^~\*!,"#£@¤\$%€&\/\{\(\[\]\}=\?\+´´\|]/g,'');
        test;
    }

-- bemærk, at mange tegn er escapet, da de har special-betydninger i regexps, for en sikkerheds skyld har jeg escapet alle, f.eks. \$ !-)
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