10. oktober 2003 - 13:33
Der er
44 kommentarer og 1 løsning
opdater i db
skal redigere en bruger men selve opdateringen til db sker ikke, hvad gør jeg galt. Håber der er nogen der kan hjælpe og gennemskue hvad jeg gør galt min redigerbruger.html: <html> <head> <link rel="stylesheet" type="text/css" href="stylesheet.css"> </head> <body> <h1>Rediger bruger</h1> <form action='hentbruger.asp' method='post'><br> Brugernavn<br><input type="text" name="NT"><br><br> <input type='submit' value='Hent'> <input type='reset' value='annuller' </body> </html> min hentbruger.asp: <% Set Conn = Server.CreateObject("ADODB.Connection") DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & ("C:\Inetpub\wwwroot\hovedopgave\koden\ellebo.mdb") Conn.Open DSN strNT = Request.form("NT") sql = "SELECT * FROM bruger Where UCase(brugernavn) = '" & Ucase(strNT) & "'" set rest = Conn.execute(sql) if Rest.eof then response.redirect("bminus.html") end if Do While Not Rest.EOF response.write "<tr><td><input type=text name=brun value=""" & rest("brugernavn") & """></td></tr><tr><td><input type=text name=adkode value=""" & rest("adgangskode") & """></td></tr><tr><td><input type=text name=tp value=""" & rest("type") & """></td></tr><tr><td><input type=hidden name=id value=""" & rest("brugernavn") & """></td></tr>" rest.MoveNext loop Conn.close set Conn=nothing %> <form action='redbruger.asp' method='get'> <input type='submit' value='Gem'> <input type='reset' value='Annuller'> </form> og min redbruger.asp: <% ' Databaseforbindelse Set Conn = Server.CreateObject("ADODB.Connection") DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & ("C:\Inetpub\wwwroot\hovedopgave\koden\ellebo.mdb") ' Åbner databaseforbindelsen Conn.Open DSN strBR = replace(request.form("brun"),"'","''") strAD = replace(request.form("adkode"), "'","''") strTP = replace(request.form("tp"),"'","''") strID = request.form("id") 'sql kald der henter alt fra tabel bruger, hvis at det indtastede login og password findes i tabellen, laver stort for at sikre sig strSQL ="UPDATE bruger SET brugernavn ='" & strBR & "', adgangskode ='" & strAD &"', type ='" & strTP & "' WHERE brugernavn = '" & strID & "'" Conn.Execute(strSQL) Conn.close set conn = nothing %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Untitled</title> </head> <body> opdateret </body> </html>
Annonceindlæg fra Cognizant
AI er ikke problemet. Eksekvering er.
Der bliver investeret massivt i AI. Teknologien er mere tilgængelig end nogensinde, og ambitionerne er høje. Alligevel oplever mange virksomheder, at resultaterne udebliver.
Slettet bruger
10. oktober 2003 - 13:35
#1
Kommer der nogen fejlmelding?? Og hvis ja, hvilken?
10. oktober 2003 - 14:35
#2
strSQL ="UPDATE bruger SET brugernavn ='" & strBR & "', adgangskode ='" & strAD &"', type ='" & strTP & "' WHERE XXXbrugernavnXXX = '" & strID & "'" Jeg tror ikke dit feltnavn, som jeg har angivet som XXX....XXX er korrekt...
10. oktober 2003 - 14:38
#3
nej den skriver opdateret men opdaterer ikke i db
10. oktober 2003 - 14:40
#4
primærnøglen i min db er brugernavn, derfor jeg ville prøve at lave en opdate hvor den gør udfra brugernavnet
10. oktober 2003 - 14:44
#5
tænkte lige jeg laver jo textfelterne sådan: Do While Not Rest.EOF response.write "<tr><td><input type=text name=brun value=""" & rest("brugernavn") & """></td></tr><tr><td><input type=text name=adkode value=""" & rest("adgangskode") & """></td></tr><tr><td><input type=text name=tp value=""" & rest("type") & """></td></tr><tr><td><input type=hidden name=id value=""" & rest("brugernavn") & """></td></tr>" rest.MoveNext loop de textfelter overskriver jeg og det er det je gså prøver at opdatere db med, kan det være der jeg gør noget forkert? ellers måske ved mine replace??
10. oktober 2003 - 14:45
#6
Så man kan også ændre brugernavnet, ok ;) Men du har da ingen <form> i hentbruger.asp
10. oktober 2003 - 14:46
#7
Jeg mener: Du har ingen <form> pr bruger, og det skal du have.
10. oktober 2003 - 14:49
#8
hvordan gør man det? jeg henter jo kun en bruger og det er den ved det navn jeg indtaster i redigerbruger.html er lidt lost her... sorry
10. oktober 2003 - 14:51
#9
Når du laver en UPDATE vil den forsøge at opdatere alle brugere med det brugernavn. Det kræver så igen at der rent faktisk FINDES en række hvor det brugernavn findes. Ellers vil den UPDATE gå fint med 0 updates.
10. oktober 2003 - 14:53
#10
Men selv om der så kun er én, så skal felterne der bruges stå inden i en <form>
10. oktober 2003 - 14:53
#11
Jo, der ER et <form> tag, men det ligger KUN rundt om submit knappen. Det er jo en fejl. Det skal OGSÅ rundt om dine indtastningsfelter hvor du taster bruger oplysninger ind. :-)
10. oktober 2003 - 14:55
#12
erikjacobsen >> Der ER kun 1. Der er først en form hvor man taster brugernavnet ind. Så henter den data på side 2, hvor <form> tagget så fejlagtigt kun ligger rundt om submit-knappen, så den på side 3 forsøger at sætte alle felterne til en tom streng, hvor brugernavnet er = '' :-)
10. oktober 2003 - 14:55
#13
i de textfelter jeg har oprettet står der jo test - test - test - altså hvis det er den bruger jeg har søgt på. test er oprettet i db. jeg overskriver dem med f.eks test blah blah, men det sker ikke
10. oktober 2003 - 14:56
#14
if Rest.eof then response.redirect("bminus.html") end if <<<<<<<<<<<<< HER SKAL DIT FORM TAG LIGGE!!! >>>>>>>>>>>>>>>>>>>>> <form action='redbruger.asp' method='get'> Do While Not Rest.EOF response.write "<tr><td><input type=text name=brun value=""" & rest("brugernavn") & """></td></tr><tr><td><input type=text name=adkode value=""" & rest("adgangskode") & """></td></tr><tr><td><input type=text name=tp value=""" & rest("type") & """></td></tr><tr><td><input type=hidden name=id value=""" & rest("brugernavn") & """></td></tr>"
10. oktober 2003 - 14:57
#15
Ups. Du skal lige huske..... response.write "<form action='redbruger.asp' method='get'>"
10. oktober 2003 - 15:02
#16
altså så den ser sådan ud??? if Rest.eof then response.redirect("bminus.html") end if %> <form action='redbruger.asp' method='get'> <input type='submit' value='Gem'> <input type='reset' value='Annuller'> </form> <% Do While Not Rest.EOF response.write "<tr><td><input type=text name=brun value=""" & rest("brugernavn") & """></td></tr><tr><td><input type=text name=adkode value=""" & rest("adgangskode") & """></td></tr><tr><td><input type=text name=tp value=""" & rest("type") & """></td></tr><tr><td><input type=hidden name=id value=""" & rest("brugernavn") & """></td></tr>" det virker stadig ikke
10. oktober 2003 - 15:02
#17
ok havde ikke lige nået at se du skrev igen :) prøver lige
10. oktober 2003 - 15:05
#18
Du skal huske at din FORM kun sender de data der ligger MELLEM dit <form> og slut-tagget </form> De felter der ligger over eller under er ikke en del af formen, og bliver derfor ikke sendt med.
10. oktober 2003 - 15:05
#19
det ændrer ikke noget
10. oktober 2003 - 15:09
#20
Prøv at smide hele kildekoden til det sidste dokument på igen.
10. oktober 2003 - 15:09
#21
Nej vrøvl. Dit ANDET dokument.
10. oktober 2003 - 15:10
#22
a.k.a. hentbruger.asp
10. oktober 2003 - 15:12
#23
hentbruger er den eneste jeg har ændret i den ser sådan ud nu <% Set Conn = Server.CreateObject("ADODB.Connection") DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & ("C:\Inetpub\wwwroot\hovedopgave\koden\ellebo.mdb") Conn.Open DSN strNT = Request.form("NT") sql = "SELECT * FROM bruger Where UCase(brugernavn) = '" & Ucase(strNT) & "'" set rest = Conn.execute(sql) if Rest.eof then response.redirect("bminus.html") end if response.write "<form action='redbruger.asp' method='get'><input type = hidden name = test value = """ & rest("brugernavn") & """> <input type='submit' value='Gem'><input type='reset' value='Annuller'></form>" Do While Not Rest.EOF response.write "<tr><td><input type=text name=brun value=""" & rest("brugernavn") & """></td></tr><tr><td><input type=text name=adkode value=""" & rest("adgangskode") & """></td></tr><tr><td><input type=text name=tp value=""" & rest("type") & """></td></tr><tr><td><input type=hidden name=id value=""" & rest("brugernavn") & """></td></tr>" rest.MoveNext loop Conn.close set Conn=nothing %>
10. oktober 2003 - 15:13
#24
response.write "<form action='redbruger.asp' method='get'><input type = hidden name = test value = """ & rest("brugernavn") & """> <input type='submit' value='Gem'><input type='reset' value='Annuller'></form>" .....skal ændres til..... response.write "<form action='redbruger.asp' method='get'><input type = hidden name = test value = """ & rest("brugernavn") & """> <input type='submit' value='Gem'><input type='reset' value='Annuller'>" .... og så skal du indsætte et..... response.write "</form>" til aller sidst lige efter dit loop
10. oktober 2003 - 15:14
#25
hov den der input type hidden test ting i response.write(formen...) er en jeg lige har prøvet med, den var ikke med før
10. oktober 2003 - 15:14
#26
Hmmm. Hvis det er hele dit dokument.... Sætter du aldrig <html> eller <body> tags?
10. oktober 2003 - 15:16
#27
jo det sker da *gg* men det er kun asp så troede ikke det var nødvendigt..
10. oktober 2003 - 15:18
#28
hmm det virker heller ikke
10. oktober 2003 - 15:19
#29
Nej, den skal naturligvis hedde brugernavn og ikke test. Øhm... Jeg kan egentlig heller ikke få øje på noget sted hvor du henter data ud af din form....?
10. oktober 2003 - 15:19
#30
Hov. My bad. Det gør du længere oppe.
10. oktober 2003 - 15:21
#31
i redbruger.asp har jeg strBR = replace(request.form("brun"),"'","''") strAD = replace(request.form("adkode"), "'","''") strTP = replace(request.form("tp"),"'","''") er det det du mener?
10. oktober 2003 - 15:23
#32
Yep. Jeg overså det. Som jeg skrev. My bad. :-)
10. oktober 2003 - 15:24
#33
havde ikke lige nå at opdatere
10. oktober 2003 - 15:24
#34
Din kommentar 15:16:36 Ja, men din ASP laver jo HTML, og den skal jo helst være nogenlunde korrekt. Der er flere fodfejl, men det er mindre vigtigt. Har du prøvet at rykke dit </form> tag ned til efter loop?
10. oktober 2003 - 15:26
#35
Jeg prøver lige som jeg mener den bør se ud: <% Set Conn = Server.CreateObject("ADODB.Connection") DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & ("C:\Inetpub\wwwroot\hovedopgave\koden\ellebo.mdb") Conn.Open DSN strNT = Request.form("NT") sql = "SELECT * FROM bruger Where UCase(brugernavn) = '" & Ucase(strNT) & "'" set rest = Conn.execute(sql) if Rest.eof then response.redirect("bminus.html") end if response.write "<form action='redbruger.asp' method='get'>" Do While Not Rest.EOF response.write "<tr><td><input type=text name=brun value=""" & rest("brugernavn") & """></td></tr><tr><td><input type=text name=adkode value=""" & rest("adgangskode") & """></td></tr><tr><td><input type=text name=tp value=""" & rest("type") & """></td></tr><tr><td><input type=hidden name=id value=""" & rest("brugernavn") & """></td></tr>" rest.MoveNext loop response.write "<input type='submit' value='Gem'><input type='reset' value='Annuller'>" response.write "</form>" Conn.close set Conn=nothing %>
10. oktober 2003 - 15:28
#36
Nu smider jeg sq et svar.
10. oktober 2003 - 15:29
#37
ok prøver lige at smide den ind så er forholdsvis nybegynder i asp.. nok derfor der er fodfejl.. sikkert mange af dem :)
10. oktober 2003 - 15:32
#38
hmm det virker simpelthen ikke det må næsten være i redbruger.asp der er en fejl så
10. oktober 2003 - 15:35
#39
Prøv at lægge alle dine filer her igen med en god synlig adskillelse.
10. oktober 2003 - 15:36
#40
Hov. Prøv først at erstatte dine linier i redbruger.asp: strBR = replace(request.form("brun"),"'","''") strAD = replace(request.form("adkode"), "'","''") strTP = replace(request.form("tp"),"'","''") strID = request.form("id") laver du om til strBR = replace(request("brun"),"'","''") strAD = replace(request("adkode"), "'","''") strTP = replace(request("tp"),"'","''") strID = request("id")
10. oktober 2003 - 15:38
#41
redigerbruger.html: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <link rel="stylesheet" type="text/css" href="stylesheet.css"> </head> <body> <h1>Rediger bruger</h1> <form action='hentbruger.asp' method='post'><br> Brugernavn<br><input type="text" name="NT"><br><br> <input type='submit' value='Hent'> <input type='reset' value='annuller' </body> </html> hentbruger.asp: <% Set Conn = Server.CreateObject("ADODB.Connection") DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & ("C:\Inetpub\wwwroot\hovedopgave\koden\ellebo.mdb") Conn.Open DSN strNT = Request.form("NT") sql = "SELECT * FROM bruger Where UCase(brugernavn) = '" & Ucase(strNT) & "'" set rest = Conn.execute(sql) if Rest.eof then response.redirect("bminus.html") end if response.write "<form action='redbruger.asp' method='get'>" Do While Not Rest.EOF response.write "<tr><td><input type=text name=brun value=""" & rest("brugernavn") & """></td></tr><tr><td><input type=text name=adkode value=""" & rest("adgangskode") & """></td></tr><tr><td><input type=text name=tp value=""" & rest("type") & """></td></tr><tr><td><input type=hidden name=id value=""" & rest("brugernavn") & """></td></tr>" rest.MoveNext loop response.write "<input type='submit' value='Gem'><input type='reset' value='Annuller'>" response.write "</form>" Conn.close set Conn=nothing %> redbruger.asp: <% ' Databaseforbindelse Set Conn = Server.CreateObject("ADODB.Connection") DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & ("C:\Inetpub\wwwroot\hovedopgave\koden\ellebo.mdb") ' Åbner databaseforbindelsen Conn.Open DSN strBR = replace(request.form("brun"),"'","''") strAD = replace(request.form("adkode"), "'","''") strTP = replace(request.form("tp"),"'","''") strID = request.form("id") 'sql kald der henter alt fra tabel bruger, hvis at det indtastede login og password findes i tabellen, laver stort for at sikre sig strSQL ="UPDATE bruger SET brugernavn ='" & strBR & "', adgangskode ='" & strAD &"', type ='" & strTP & "' WHERE brugernavn = '" & strID & "'" Conn.Execute(strSQL) Conn.close set conn = nothing %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Untitled</title> </head> <body> opdateret </body> </html>
10. oktober 2003 - 15:38
#42
Læste du det jeg skrev lige efter jeg bad dig smide dem på igen?
10. oktober 2003 - 15:40
#43
nej det gjorde jeg ikke sorry.. prøver
10. oktober 2003 - 15:41
#44
redbruger.asp ser så sådan ud <% ' Databaseforbindelse Set Conn = Server.CreateObject("ADODB.Connection") DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & ("C:\Inetpub\wwwroot\hovedopgave\koden\ellebo.mdb") ' Åbner databaseforbindelsen Conn.Open DSN strBR = replace(request("brun"),"'","''") strAD = replace(request("adkode"), "'","''") strTP = replace(request("tp"),"'","''") strID = request("id") 'sql kald der henter alt fra tabel bruger, hvis at det indtastede login og password findes i tabellen, laver stort for at sikre sig strSQL ="UPDATE bruger SET brugernavn ='" & strBR & "', adgangskode ='" & strAD &"', type ='" & strTP & "' WHERE brugernavn = '" & strID & "'" Conn.Execute(strSQL) Conn.close set conn = nothing %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Untitled</title> </head> <body> opdateret </body> </html>
10. oktober 2003 - 15:42
#45
så virker super mange gange tak for hjælpen
Kurser inden for grundlæggende programmering