/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
sammenligning af to text fields??
Fra : Jesper Raasthøj


Dato : 17-03-04 12:24

Hej
Jeg har en side hvor man skal indtaste et password og derefter
gentage det. Der skal så ske en sammenligning på den næste side
og hvis de to værdier ikke er ens skal der udskrives en
fejlmeddelelse. Dette sker imidlertid ikke og jeg kan ikke helt
forstå hvorfor..Håber der er nogen, der kan hjælpe..

Jeg har en formular på første side som følgende :

<form name=afsend action=modtag.asp>
<input type=password name=kodeord1>
<input type=password name=kodeord2>
</form>

Siden modtag.asp ser sådan her ud :

<% @language=JavaScript %>
<!-- #include file="database.js" --> // connection til DB
<!-- #include file="string.js" --> // validering af de to kodeord
<%
OK = 0;
FORKERT_KODEORD = 1;
KUNDE_EKSISTERER = 2;

con = createDatabaseConnection();

// kontroller først, om kunden er logget ind
id = -1;
if (Request.Cookies("kundeid") != "") {
id = opdaterKunde(Request.Cookies("kundeid"));
} else {
id = tilfojKunde();
}

// registrer ordren
Application.Lock();
con.execute("INSERT INTO ordre (kunde, dato) VALUES (" + id + ",
" + toSqlDate(new Date()) +")");
res = con.execute("SELECT id FROM ordre WHERE kunde=" + id + "
ORDER BY id DESC");
ordrenummer = res.Fields("id");
Application.Unlock();

albumantal = Session("albumantal");
for (i = 0; i < albumantal; i++) {
sql = "INSERT INTO ordrelinie (album, antal, ordre) VALUES (";
sql += Session("album"+i);
sql += ", ";
sql += Session("antal"+i);
sql += ", ";
sql += ordrenummer;
sql += ")";
con.execute(sql);
}
printResult(OK);

function opdaterKunde(id) {
sql = "UPDATE kunde SET ";
sql += "Navn='" + Request.Form("Navn") + "', "
sql += "Adresse='" + Request.Form("Adresse") + "', ";
sql += "Postnummer=" + Request.Form("Postnummer") + " , ";
sql += "Postdistrikt='" + Request.Form("Postdistrikt") + "', ";
sql += "Email='" + Request.Form("Email") + "'";
sql += " WHERE id=" + id;
con.execute(sql);
return id;
}
// for funktionen strcmp, se nederst..
function tilfojKunde(id) {
if (!strcmp(Request.Form("kodeord1"), Request.Form("kodeord2")))
{
printResult(FORKERT_KODEORD);
}

// kontroller, at der ikke allerede eksisterer en kunde med den
email-adresse
res = con.execute("SELECT id FROM kunde WHERE email='" +
Request.Form("Email") + "'");
if (!res.EOF) { // kunden eksisterer
printResult(KUNDE_EKSISTERER);
}

sql = "INSERT INTO kunde (Navn, Adresse, Postnummer,
Postdistrikt, Email, Kodeord) VALUES (";
sql += "'" + Request.Form("Navn") + "', ";
sql += "'" + Request.Form("Adresse") + "', ";
sql += Request.Form("Postnummer") + ", ";
sql += "'" + Request.Form("Postdistrikt") + "', ";
sql += "'" + Request.Form("Email") + "', ";
sql += "'" + Request.Form("kodeord1") + "')";
con.execute(sql);
res = con.execute("SELECT id FROM kunde WHERE Email='" +
Request.Form("Email") + "'");
return res.Fields("id");
}

function printResult(status) {
%>
<html>
<head>
</head>
<body>
<% if (status == OK) { %>

Din ordre er afsendt. Den vil blive tildelt ordrenummer
<%=ordrenummer%>.
<%
} else if (status == FORKERT_KODEORD || status ==
KUNDE_EKSISTERER) {
%>
Der opstod en fejl i forbindelse
med afsendelse af din ordre. Din ordre er ikke afsendt
<%
if (status == FORKERT_KODEORD) {
%>
De to indtastede kodeord var ikke ens.
<%
} else {
%>
Der er allerede registreret en kunde med den angivne
email-adresse (<%=Request.Form("Email")%>).
<%
}
}
%>
</body>
</html>
<%
Response.End();

}
%>

den inkluderede fil string.js ser sådan ud :

<%
function strcmp(s1, s2) {
if (s1.length != s2.length) {
return false;
}

for (i = 0; i < s1.length; i++) {
if (s1[i] != s2[i]) {
return false;
}
}
return true;
}
%>

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Jens Gyldenkærne Cla~ (17-03-2004)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 17-03-04 13:36

Jesper Raasthøj skrev:

> Jeg har en side hvor man skal indtaste et password og derefter
> gentage det. Der skal så ske en sammenligning på den næste side
> og hvis de to værdier ikke er ens skal der udskrives en
> fejlmeddelelse. Dette sker imidlertid ikke og jeg kan ikke helt
> forstå hvorfor..

Hvad sker der så?

Prøv at læse <http://asp-faq.dk/article/?id=41> og vend tilbage med
lidt flere oplysninger.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408847
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste