Jag har skapat ett litet medlemsregister i form av en access-databas där det är tänkt att alla ska kunna gå in och ändra sina egna personuppgifter. De får varsitt login och password. När de loggar in kommer en sida upp där deras uppgifter listas. de kan sedan välja att ändra sin uppgifter. De kommer då till en sida med ett formulär. Så långt fungerar det.
Hur ska jag sedan göra för att de endast ska kunna ändra på sina egna uppgifter, och hur ska jag göra för att formuläret ska fyllas i med default-värdena från början, där de sedan kan välja att ändra ett eller fler.
"Update" med behörighetskontroll??
5 svar · 151 visningar · startad av anhel96
FÖr att hämta default värden så kör du enklast en databas koppling och hämtar fram där värdena tillhör ett speciellt id typ så här
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("databas"))
sql="SELECT beskrivning, epost, info FROM login WHERE id="&session("userid")&""
rs=conn.execute(sql)
conn.close
%>
Och för att uppdatera
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("database"))
id=session("userid")
login=request("login")
info=request("info")
epost=request("epost")
beskrivning=request("beskrivning")
password=request("password")
sql="UPDATE login SET login='"&login&"', info='"&info&"', epost='"&epost&"', beskrivning='"&beskrivning&"', password='"&password&"' WHERE id="&id&""
conn.execute(sql)
response.write("Du har nu ändrat " &login &"s information")
%>
Lycka till!
------------------
Utdrag nr 4 ur jispirs regelbok-->Använd alltid gratis tjänster från verktygslådan. :e
Ett gott trams förlänger livet :e
[Redigerat av jispir den 11 dec 2000]
Hello,
skulle vilja att det fanns ngn typ av check av användarnamn o pwd innan man gör ngn form av uppdatering, för säkerhets skull ;)
Kanske ngt liknande:
<%
Option Explicit
REsponse.Buffer = True
Dim strUserName, strPwd, strNewPwd, strNewName
strUserName = Request.Form("username")
strPwd = Request.Form("pwd")
strNewPwd = Request.Form("newpwd")
strNewName = Request.Form("fname")
Set objConn = Server.CreateObject("ADODB.Connection")
With objConn
.Provider = "Microsoft.Jet.OLEDB.4.0"
.ConnectionString = "Data Source=" & Server.MapPath("/min_db.mdb")
.Open
End With
' FLD_USER_NAME ska vara indexerat och inte tillåta dubletter
'------------------------------------------------------------
strSQL "SELECT * FROM TBL_MEMBERS WHERE FLD_USER_NAME = '" & strUserName &"'"
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.Open strSQL, objConn, 3, 3
If objRS.EOF Then
' användarnamnet hittades inte
'-----------------------------
Response.Write("Fel användarnamn eller lösenord")
Else
' användarnamnet hittades
' jmf om rätt pwd har angivits
'-----------------------------
If strPwd = objRS("FLD_PWD") Then
' rätt pwd
' uppdatera medlemsinfon
'-----------------------
objRS("FLD_MEMBER_NAME") = strNewName
objRS("FLD_PWD") = strNewPwd
objRS.UpdateBatch
Else
' fel pwd
'--------
Response.Write("Fel användarnamn eller lösenord.")
End If
End If
objRS.Close
set objRS = nothing
objConn.close
Set objConn = nothing
%>
där man först kollar att användarnamnet finns i db och sedan jmf om det är rätt angivet lösen innan ngn uppdatering görs.
cya,
------------------
'*********************
Response.Write("PatrikB")
Response.End
'*********************
Det är en säkrare variant PatrikB men jag gav han bara en liten inblick i hur man kan göra ;)
------------------
Utdrag nr 4 ur jispirs regelbok-->Använd alltid gratis tjänster från verktygslådan. :e
Ett gott trams förlänger livet :e
Kan man på något sätt skicka med variabler från den "personliga sidan" när denne anger att han/hon vill uppdatera sina uppgifter. T.ex. skicka med login och lösen när denna länk utförs:
<a href="nyreg.asp">Ändra dina uppgifter</a>
Hello,
antingen genom sessions eller cookies.
Beror på hur "länge" som medlem vill att uppgifterna ska kommas ihåg.
Man kan med cookie ställa in att spara lösen och anv.namn så nästa ggn medlem kommer till sidan blir han/hon inloggad automatiskt, eller kommer till sidan där uppdateringar kan göras av sin egen medlemsinfo.
cya
------------------
'*********************
Response.Write("PatrikB")
Response.End
'*********************