04. februar 2004 - 00:25
Der er
24 kommentarer og 2 løsninger
update db problem igen
Hej (igen) :O/ Jeg syntes dælme jeg har fulgt HTML.dk bogstav til punkt og prikke, men jeg kan ikke få dette til at virke. Jeg skulle gerne havde det til at ændre 'userid' og sætte 'account_valid' til '1' Nogen der kan se hvad der går galt? <% If Request.Form("Change") = "Ændre Password" Then strPWOOD = Trim(Replace(Request.Form("newpassw"),"'","")) ' Databaseforbindelse - husk at angive sti til din database Set Conn = Server.CreateObject("ADODB.Connection") DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; " DSN = DSN & "DBQ=" & Server.MapPath("db/test.mdb") Conn.Open DSN ' SQL sætning opbygges strSQL = "Update test_members set " strSQL = strSQL & "account_valid= '1', " strSQL = strSQL & "userid= "'& Replace(Request.Form("newpassw")&"' " strSQL = strSQL & " Where username ="'& Session("username")&"'" ' SQL sætning eksekveres Conn.Execute(strSQL) ' Luk databaseforbindelse Conn.Close Set Conn = Nothing Response.Redirect("intheclear.asp") End If %> ............................................ RESPONSE.WRITE"<TD><form action='newpass.asp' method='POST' style='display:inline'>" RESPONSE.WRITE"<TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 WIDTH=400 HEIGHT=300>" RESPONSE.WRITE"<TR>" RESPONSE.WRITE"<TD ROWSPAN=1 COLSPAN=3 WIDTH=400 HEIGHT=40 class='capi' align='center'>Velkommen <B><font color='#990100'>" & Session("Username") &"</B></font></TD>" RESPONSE.WRITE"</TR>" RESPONSE.WRITE"<TR>" RESPONSE.WRITE"<TD ROWSPAN=1 COLSPAN=2 WIDTH=209 HEIGHT=90 bgcolor='#ffffff' class='indryk'>Da det er første gang du logger på xxxxx, skal du ændre dit password. Dette for at mindste muligheden for at andre logger ind i dit navn!</TD>" RESPONSE.WRITE"<TD ROWSPAN=1 COLSPAN=1 WIDTH=191 HEIGHT=90><IMG SRC='newpassgfx/chair.jpg' WIDTH=191 HEIGHT=90 BORDER=0 ></TD>" RESPONSE.WRITE"</TR>" RESPONSE.WRITE"<TR>" RESPONSE.WRITE"<TD ROWSPAN=1 COLSPAN=1 WIDTH=118 HEIGHT=25 bgcolor='#ffffff' class='indryk'>Dit gamle password:</TD>" RESPONSE.WRITE"<TD ROWSPAN=1 COLSPAN=2 WIDTH=282 HEIGHT=25 background='newpassgfx/oldpassbg.jpg'><input type='text' value='"& rs("userid")&"' name='oldpassw' class='forms3' READONLY></TD>" RESPONSE.WRITE"</TR>" RESPONSE.WRITE"<TR>" RESPONSE.WRITE"<TD ROWSPAN=1 COLSPAN=1 WIDTH=118 HEIGHT=10 bgcolor='#ffffff' class='none'> </TD>" RESPONSE.WRITE"<TD ROWSPAN=1 COLSPAN=2 WIDTH=282 HEIGHT=10><IMG SRC='newpassgfx/logobgdivider.jpg' WIDTH=282 HEIGHT=10 BORDER=0 ></TD>" RESPONSE.WRITE"</TR>" RESPONSE.WRITE"<TR>" RESPONSE.WRITE"<TD ROWSPAN=1 COLSPAN=1 WIDTH=118 HEIGHT=25 bgcolor='#ffffff' class='indryk'><font color='#990100'>Dit nye password:</font></TD>" RESPONSE.WRITE"<TD ROWSPAN=1 COLSPAN=2 WIDTH=282 HEIGHT=25 background='newpassgfx/newpassbg.jpg'><input type='text' value='' name='newpassw' class='forms3'></TD>" RESPONSE.WRITE"</TR>" RESPONSE.WRITE"<TR>" RESPONSE.WRITE"<TD ROWSPAN=1 COLSPAN=1 WIDTH=118 HEIGHT=58 class='indryk'><input type='submit' value='Ændre Password' class='blackbutton' name='Change'> /0ffline
Annonceindlæg fra Novataris
Vejen til devops med Bavarian Nordic
Bavarian Nordics vækst blev starten på et DevOps-samarbejde med Novataris for hurtigt at kunne tilpasse IT-organisation til forretningen.
7. december 2023
04. februar 2004 - 00:28
#1
Denne sætning skulle ikke være med :) strPWOOD = Trim(Replace(Request.Form("newpassw"),"'",""))
04. februar 2004 - 00:31
#2
Der er hvis ingen grund til at læse hele kildekoden igennem, da det må være det øverste der går galt, da den ikke redirecter og ikke opdaterer db's indhold
04. februar 2004 - 00:56
#3
Du har byttet om på en ' og en " i den sidste linie i din SQL-sætning, det rigtige er strSQL = strSQL & " Where username = '" & Session("username") & "'" /Torsten
04. februar 2004 - 09:14
#4
hvis du prøver at komme med den fejlmeldingstekst der fremkommer når du forsøger at eksekvere scriptet kan vi lettere komme med forslag til hvad fejlen kan være :)
04. februar 2004 - 10:30
#5
account_valid= '1' skal det ikke være account_valid = 1 Lad os se fejlmeldingen, og prøv også at Response.write (strSQL) lige før linien: ' SQL sætning eksekveres
04. februar 2004 - 16:58
#6
Der fremkommer INGEN fejlmeldinger, dette er en af grundene til at jeg har meget svært ved at knække denne nød
04. februar 2004 - 17:06
#7
Hvis der ingen fejl kommer og der ingenting ændres i databasen så er det højst sandsynligt fordi din if-statement ikke bliver opfyldt, altså denne; If Request.Form("Change") = "Ændre Password" Then Prøv fx at ændre både value i form og i den id-statement til fx bare "change_password"... altså så du ungår mellemrum og andre underlige tegn. Hvis det er vigtigt der står lige præcis det i value så lav et hidden formfelt eller andet der kan give en 100% korrekt melding til asp-scriptet uden underlige tegn
04. februar 2004 - 17:10
#8
Se se, nu går det fremad. Nu kommer der da en fejlmelding Microsoft][ODBC Microsoft Access Driver] Syntax error in UPDATE statement.
04. februar 2004 - 17:13
#9
prøv at skriv response.write strSQL response.end lige før din linie med Conn.Execute(strSQL)
04. februar 2004 - 17:15
#10
:o) Smart... så må det være denne linie der er galt, da feltet er tomt strSQL = strSQL & "userid= "'& Replace(Request.Form("newpassw")&"' "
04. februar 2004 - 17:30
#11
Update test_members set account_valid= 1, userid= Where username = 'offline'
04. februar 2004 - 18:05
#12
Nu er den lige ved at være der: <% If Request.Form("Change") = "Nyt Password" Then Set Conn = Server.CreateObject("ADODB.Connection") DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; " DSN = DSN & "DBQ=" & Server.MapPath("db/test.mdb") Conn.Open DSN strSQL = "Update test_members set " strSQL = strSQL & "account_valid= 1, " strSQL = strSQL & "userid= "& Request.Form("newpassw") strSQL = strSQL & " Where username = '" & Session("Username") & "'" Conn.Execute(strSQL) Conn.Close Set Conn = Nothing Response.Redirect("intheclaer.asp") End If %> ............................ Nu får jeg desværre bare fejlmeddelse -> [Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1. /test/newpass.asp, line 11
04. februar 2004 - 18:41
#13
Det må jo være denne det halter med! Conn.Execute(strSQL)
04. februar 2004 - 19:19
#14
Anyone?
04. februar 2004 - 19:20
#15
Det eneste den linie gør er at give besked besked på at ens SQL skal udføres - så fejler den linier er det en henvisning til at en SQL er forkert. hvis du prøver at lave response.write strSQL response.end igen nu - hvad står der så på skærmen?
04. februar 2004 - 19:24
#16
Update test_members set account_valid= 1, userid= mitnyepassword Where username = 'offline'
04. februar 2004 - 19:27
#17
Så alle oplysningerne bliver nu vist, men den vil ikke køre Conn.Execute(strSQL)
04. februar 2004 - 19:44
#18
hvilken felttype er "userid"?
04. februar 2004 - 19:48
#19
Datatypen i Access = tekst
04. februar 2004 - 19:51
#20
Kan problemet være kommaet, eller mangel på flere?
04. februar 2004 - 19:56
#21
Hurra, så virker det. Keysersoze, smid et svar, for en person så ihærdig og tålmodig som dig har helt fortjent points her. Hjælp til selvhjælp :O)
04. februar 2004 - 19:56
#22
nærmere mangel på ' men det kan jeg se blev løst :)
04. februar 2004 - 19:57
#23
Du har helt ret, det var endnu engang totalt mangel på ' :O/ Vi deler...
04. februar 2004 - 20:15
#24
heh - du er godt nok dårlig til at dele ;) skal jeg oprette et spm med 75 p.?
04. februar 2004 - 20:35
#25
Fedt, så er det jo ikke bare ASP jeg skodder til. Jeg syntes du har fortjent det hele, men jeg manglede lige 1 point i at have et pænt rundt pointstal c",) Så tusinde tak for vedholdenheden.
05. februar 2004 - 00:18
#26
helt i orden :)
Kurser inden for grundlæggende programmering