mozillaMedlem sedan juli 20011 084 inlägg Jag har en kod snutt som jag stirrat mig blind på den senaste timmen... jag kan inte förstå vad som är fel... så kanske ni kan hjälpa till. här är koden:
SQL = "SELECT pass FROM tabell WHERE namn = '"& Session("Namn") &"' AND pass = '"& old_password &"'"
Set rs = Conn.Execute(SQL)
If rs.EOF Then
strang = "action=persinfo&error=password"
Response.Write "Error!"
Else
If Trim(new_password) = "" Then
new_password = old_password
Else
new_password = new_password
End If
SQL = "UPDATE tabell SET namn = '"& namn &"', email = '"& email &"', pass = '"& new_password &"' WHERE namn = '"& Session("Namn") &"'"
Conn.Execute(SQL),,128
If Session("Namn") <> namn Then Session("Namn") = namn
strang = "action=persinfo"
Response.Write "Inlaggd!"
End If
Vad som händer är att de känns som den kör båda if och else satsen. Av den enkla anledning att de står error på skärmen medan datan ändrat sig i databasen ändå... Allt har också med lösenordet att göra, dvs old_password/new_password för så fort man fyller i ett nytt lösenord så framträder detta mycket skumma problem. Annars(utan nytt lösenord) så fungerar allt som de ska.
LarsGMedlem sedan dec. 200012 464 inlägg Hmm
Sidan kanske körs två gånger? Första gången görs update och andra skrivs error ut!?
Har du någon response.redirect någonstans?
mozillaMedlem sedan juli 20011 084 inlägg jo... de känns så. Nej jag har ingen Response.Redirect utan jag tänkte testa med en javascripts kod som ser ut som följer:
Response.Write "<script language=""JavaScript"">"& vbCrLf &"<!--"& vbCrLf &"location.replace(sida.asp?"& strang &"')"& vbCrLf &"//-->"& vbCrLf &"</script><h3>Vänta mednas informationen lagras i databasen.</h3>"
mozillaMedlem sedan juli 20011 084 inlägg måste man ha Response.Redirect för att de ska fungera?
mozillaMedlem sedan juli 20011 084 inlägg snälla... låt den inte bara glida iväg? kan ingen expert ge sitt utlåtande... bland annat på, måste man ha Response.Redirect? för varför skulle den köra koden två gånger...?
@ndersMedlem sedan juni 200032 969 inlägg Nej, du måste inte ha en response.redirect. Du måste inte heller ha ett sådant javascript du har, de är ju bara till för att förflytta användaren till en annan sida.
Är detta sida.asp? Du kör med ditt javascript i så fall användaren vidare till samma sida igen, fast med felaktiga parametrar, så Error skrivs ut.
Och, ett If-block kan inte köras samtidigt som ett else-block. Det är en omöjlighet. På något sätt måste alltså sidan läsas två gånger, som LarsG skriver.
Om inte annat, ta bort ditt javascript och se vad som händer.
Mvh,