webForumDet fria alternativet

litet prob.. querystrings?

8 svar · 283 visningar · startad av fakenick!

fakenick!Medlem sedan juli 2002202 inlägg
#1

har ett litet problem.. har en ruta som heter password..
i den skriver man ett lösenord.. och när man trycker på
delete-knappen så skickas man till kodsnutt #2.. men
så kan man inte skriva märkte jag..

såee.. hur ska man skriva? nu har jag tänkt att man ska
skicka de med en querystring.. med url:en.. eller vad man
skall säga.. och att man sedan drar ut infon i kodbit #2

?p=delete&id=<%=rs("id")%>&<%=request.form("password")%>
<% if request.querystring("p") = "delete" then
show = "select * from password"
rs.open show, conn, 1, 2
if request.querystring("password") = rs("password") then
rs.close
conn.execute("delete * from movies where id=" & request.querystring("id"))
response.redirect "?p=main"
else %>
<script language="javascript" type="text/javascript">alert("password incorrect (delete)");window.history.go(-1)</script>
<% end if
end if %>

kan tillägga att jag redan har en form där jag redigerar
infon på samma sida som deleteknappen och att jag där
också använder samma password-pryl, som jag inte får
att fungera tillsammans med deleteknappen..

tacksam för svar.. mvh john norrby..

CmartMedlem sedan feb. 200269 inlägg
#2
?p=delete&id=<%=rs("id")%>&password=<%=request.form("password")%>

MEn jag skulle verkligen rekommendera dig att köra Sessions istället för på ditt sätt. Då slipper du öppna en databasen varje gång för att kolla password plus att det är mycket säkrare.

Dessutom stänger du inte dina databaskopplingar rätt.

fakenick!Medlem sedan juli 2002202 inlägg
#3

okeej..

hur stänger man databasen rätt då?

först på sidan har jag databaskopplingen:

<%
set conn = server.createobject("adodb.connection")
set rs = server.createobject("adodb.recordset")
conn.open = "driver={microsoft access driver (*.mdb)};dbq="& db &";pwd="
%>

o alltid efter att jag använt rs.open så kör jag
rs.close när jag inte behöver använda den längre..

o sen i slutet av sidan så stänger jag den:

<% conn.close
set rs = nothing
set conn = nothing %>

vad är det som jag inte gör rätt då?

ytterligare en grej jag skulle vilja greja
är att om man kryssar i en ruta så sparas
lösenordet så man inte behöver skriva in
det varje gång..

tacksam för svaret och tacksam för svar.. :)

mvh john n..

M.CheraghiMedlem sedan juli 20015 107 inlägg
#4

ytterligare en grej jag skulle vilja greja
är att om man kryssar i en ruta så sparas
lösenordet så man inte behöver skriva in
det varje gång..

Cookies, heter det du ska använda dig utav ;)

fakenick!Medlem sedan juli 2002202 inlägg
#5

jag fick inte det att fungera ändå..

han hämtar aldrig infon från form:en password

de blir:

"password="

så här ser koden ut precis innan den ska skickas:

....
<td><input type="text" name="year" value="<%=rs("year")%>" onfocus="this.className='over'" onblur="this.className='out'"></td></tr>
<tr><td>&nbsp;</td><td><input type="submit" value="edit" onfocus="this.blur()"></td><td><input type="reset" value="regret" onfocus="this.blur()"></td>
<td><input type="button" value="delete" onclick="javascript:del('?p=delete&id=<%=rs("id")%>&password=[B]<%=request.form("password")%>')[/B]" onfocus="this.blur()"></td>
<td><input type="password" name="[B]password[/B]" onfocus="this.className='over'" onblur="this.className='out'"></td><td>&nbsp;</td></tr>
....

hur ska man göra för att den ska hämta det?
hm, jag är iallafall rätt ställd mot väggen..

mvh john norrby..

CmartMedlem sedan feb. 200269 inlägg
#6

I din första kod så stänger du bara databasen om användaren har rätt lösenord. Om det är fel så stäger du inte. (rs.close)

<td><input type="button" value="delete" onclick="java script:del('?p=delete&id=<%=rs("id")%>&password=<%=request.form("password")%>')" onfocus="this.blur()"></td>

Här har du inte skickat formuläret ännu alltså finns det inget värde på <%=request.form("password")%>

Stryk det helt och prova med:

if request.form("password") = rs("password") then
solbulleMedlem sedan mars 20015 287 inlägg
#7

Det kan knappast vara en hit att skicka lösenordet synligt som en querystring, ta emot lösenordet, ditt password, med request.form på mottagarsidan i stället.

password = request.form("password")

/red. har nog haft fönstret öppet en stund, Cmarts sista svar fanns inte när jag postade. :)

Fredde MannenMedlem sedan nov. 20014 054 inlägg
#8

om du skall skicka lösenordet i en querystring, dvs som en del av en url-adress, så rekommenderar jag dig att du tar och krypterar det, även fast det kanske inte är någon värsta hemliga grejen, men man bör lära sig rätt från början!

Även fast man använder session och cookies så bör man kryptera det. :) Men nu skall jag sluta babbla .. fick bara en sådan där mundiarré i virtuell form! :OO

fakenick!Medlem sedan juli 2002202 inlägg
#9

heh..

tack för alla svar..

struntade i att endast ha ett lösenord och ersatte det med
användarnamn och lösenord samt en session på det hela..

(om man nu kan säga så)

mvh john n..

129 ms totalt · 3 externa anrop · v20260731065814-full.0e50b1ef
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)