Slettet bruger
25. januar 2005 - 17:52
Der er
10 kommentarer og 1 løsning
Problemer med ASP'en.
Jeg har en form der sender til denne asp kode, for at opdatere oplysninger om brugeren i en Database. Problemet er at de 2 password felter skal være ens for at blive godkendt men nu bliver jeg hele tiden sendt til "opdater_fejl.asp" siden også hvis passwords er ens i begge form felter når man trykker opdater. Nogen der kan finde årsagen? (Her er koden til begge asp filer) ---------------------------------------------------------- ********** Opdater_check.asp (funktionen) ********** <% @language=javascript %> <% navn=Request.form("navn"); adresse=Request.form("adresse"); city=Request.form("by"); email=Request.form("email"); pass=Request.form("password"); pass2=Request.form("password2"); b = Request.Cookies("bruger"); if(pass==pass2) conn = Server.CreateObject("ADODB.Connection"); DBPath = "DBQ=" + Server.mappath("db/database.mdb"); conn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; " + DBPath); rs = conn.Execute("DELETE FROM BRUGER WHERE Brugernavn='"+b+"' "); rs = conn.Execute("INSERT INTO BRUGER (brugernavn, password, navn, adresse, city, email) VALUES ('"+b+"','"+pass+"','"+navn+"','"+adresse+"','"+city+"','"+email+"') " ); Response.Redirect("opdater_ok.asp"); conn.Close(); }else{ Response.Redirect("opdater_fejl.asp"); } %> ---------------------------------------------------------- ********** Opdater.asp (formen) ********** <% b = Request.Cookies("bruger"); conn = Server.CreateObject("ADODB.Connection"); DBPath = "DBQ=" + Server.mappath("db/database.mdb"); conn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; " + DBPath); rs = conn.Execute("SELECT * FROM BRUGER WHERE BRUGERNAVN='"+b+"'" ); %> <form name="form" method="post" action="opdater_check.asp"> <table cellspacing="0" cellpadding="0"> <tr> <td width="111">Navn:</td> <td><input type="text" name="navn" size="20" value="<%=rs.fields('NAVN')%>"></td> </tr> <tr> <td>Adresse:</td> <td><input type="text" name="adresse" size="20" value="<%=rs.fields('ADRESSE')%>"></td> </tr> <tr> <td>Postnummer & By:</td> <td><input type="text" name="by" size="20" value="<%=rs.fields('CITY')%>"></td> </tr> <tr> <td>Email:</td> <td><input type="text" name="email" size="20" value="<%=rs.fields('EMAIL')%>"></td> </tr> <tr> <td>Brugernavn:</td> <td height="19"><%=rs.fields('BRUGERNAVN')%></td> </tr> <tr> <td>Password:</td> <td><input type="text" name="password" size="20" value="<%=rs.fields('PASSWORD')%>"></td> </tr> <tr> <td>Gentag Password:</td> <td><input type="text" name="password2" size="20" value="<%=rs.fields('PASSWORD')%>"></td> </tr> <tr> <td></td> <td height="29"><input type="submit" name="Submit" value="Opdater"></td> </tr> </table> </form> <% conn.Close(); %>
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
25. januar 2005 - 23:26
#1
Prøv at lave Response.Write(pass + ", " + pass2); Response.End(); i stedet for at navigere til opdater_fejl.asp, så kan du muligvis komme nærmere hvorfor den ikke reagerer som du ønsker.
25. januar 2005 - 23:27
#2
Du mangler også en tuborg-start umiddelbart efter if-sætningen... if(pass==pass2) conn = Server.CreateObject("ADODB.Connection"); det skal vel være: if(pass==pass2) { conn = Server.CreateObject("ADODB.Connection");
25. januar 2005 - 23:28
#3
Desuden skal Server.mappath skrives Server.MapPath (da JavaScript er case sensitive, men det ved du nok allerede :))...
25. januar 2005 - 23:29
#4
Er der i øvrigt en grund til at du ikke benytter UPDATE i stedet for DELETE og INSERT?
25. januar 2005 - 23:31
#5
Husk i øvrigt at lukke din databaseforbindelse inden du redirecter (når nu det går godt) :)
Slettet bruger
26. januar 2005 - 01:08
#6
Har prøvet det men jeg bliver stadig sendt til opdater_fejl.asp siden. :-/
26. januar 2005 - 22:29
#7
må jeg se den kode du er kommet frem til nu?
27. januar 2005 - 16:34
#8
Har du prøvet med TheForm??? Det virkede for mig... Indsæt dette javescript i stedet for : --------------------------------------------------------------------------------- <script LANGUAGE="JavaScript"> <!-- HIDE FROM OTHER BROWSERS function validate(theForm) { if (theForm.navn.value == "") { alert("Navn kræves. Tak."); theForm.navn.focus(); return (false); } if (theForm.adresse.value == "") { alert("Adresse kræves. Tak."); theForm.adresse.focus(); return (false); } if (theForm.city.value == "") { alert("By kræves. Tak."); theForm.city.focus(); return (false); } if (theForm.email.value == "") { alert("E-Mail kræves. Tak."); theForm.email.focus(); return (false); } if(theForm.password.value == "") { alert("Password kræves. Tak."); theForm.password.focus(); return (false); } if(theForm.password2.value == "") { alert("Skriv dit Password igen. Tak."); theForm.password2.focus(); return (false); } if(theForm.password2.value != theForm.password.value) { alert("Password er IKKE ens..."); theForm.password.focus(); return (false); } return (true); } // STOP HIDING FROM OTHER BROWSERS --> </script> ---------------------------------------------------------------------------------
27. januar 2005 - 16:37
#9
Hvis et felt ikke er udfyldt korrekt får du besked med det sammeog curseren "stiller" sig der hvor en indtastning mangler. Du behøver altså ikke din "opdater_fejl.asp" mere...
27. januar 2005 - 16:45
#10
Du kan også skifte if(theForm.password.value == "") { alert("Password kræves. Tak."); theForm.password.focus(); return (false); } ud med følgende if (theForm.password.value.length < 6) { alert("Password skal være på mindst 6 tegn."); theForm.password.focus(); return (false); }
25. september 2010 - 04:25
#11
Lukketid ???
Kurser inden for grundlæggende programmering