gemme og vælge udfra bruger hvilken sub der skal vises
Jeg har en side (som ikke ligger på nettet), hvor jeg kan logge på som elev, hvor jeg skal have mulighed for at rette mine egne data, men ikke andre elevers.Jeg vælger nu mig selv på listen (som jeg ikke lige har medtaget) og kommer frem til næste side. Dette virker perfekt, jeg får nu vist mine data i tekstbokse, hvor jeg så vil rette til. Jeg retter og trykker på ok - den skriver at den er gemt. Men kigger jeg i databasen, så er rettelserne ikke gemt - kan I se i koden, hvor det går galt henne?
Jeg ville så på samme side, føre kontrol med at hentede jeg nu eleven Jesper istedet for - skulle den ikke loade tekstbokse, men kun vise data. Det prøvede jeg ved at ændre i følgende:
if lcase(sPageAction) = "" and lcase(sElevnr) = Session("ID") then
LoadVars
ShowEditor
else
LoadVars
ShowElev
end if
Det nægtede den total - jeg fik en tom side - uanset hvordan og hvorledes - hvordan griber jeg dette an istedet?
Min db tabel kaldet Brugere:
ID=Autonummerisk felt
Elevnr=Tal
(Disse to vil altid være identiske)
Navn= Tekst
Efternavn=Tekst
BrugerType=Tal
Brugernavn=Tekst
Adgangskode=Tekst
Adresse=Tekst
Postnr=Tal
By=Tekst
Tlf=Tekst
Bdag=Dato og klokkeslet
Pic=Tekst
Notat=Notat
Mobil=Tekst
ICQ=Tekst
MSN=Tekst
Klasse=Tekst
Email=Tekst
Min kode:
<body>
<%
sWhat = trim(Request("ID"))
sPageAction = trim(Request("Action"))
sElevnr = trim(Request("Elevnr"))
sNavn = Trim(Request.Form("Navn"))
sEfternavn = Trim(Request.Form("Efternavn"))
sKlasse = Trim(Request.Form("Klasse"))
sAdresse = Trim(Request.Form("Adresse"))
sPostnr = Trim(Request.Form("postnr"))
sBy = Trim(Request.Form("By"))
sTlf = Trim(Request.Form("Tlf"))
sMobil = Trim(Request.Form("Mobil"))
sBdag = Trim(Request.Form("Bdag"))
sEmail = Trim(Request.Form("Email"))
sICQ = Trim(Request.Form("ICQ"))
sMSN = Trim(Request.Form("MSN"))
sNotat = Trim(Request.Form("Notat"))
sPic = Trim(Request.Form("Pic"))
if lcase(sPageAction) = "" then
LoadVars
ShowEditor
end if
if lcase(sPageAction) = "save" then
SaveVars
ShowOk
end if
Sub ShowEditor
%>
<FORM METHOD="POST" ACTION="Profil.asp?action=save&ID=<% Response.Write(sElevnr) %>">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<TR>
<TD width=10%>Hej</TD>
<TD><INPUT TYPE="text" NAME="Navn" SIZE="30" VALUE="<% Response.WRite(sNavn) %>"></TD>
<TD><INPUT TYPE="text" NAME="Efternavn" SIZE="30" VALUE="<% Response.WRite(sEfternavn) %>"></TD>
<td width="54%" rowspan="10" valign="top" align="center">
<%
Response.Write (sWhat)
Response.Write (sNavn)
Response.Write "<img src="
Response.Write (sPic)
Response.Write " width=150 height=200 border=0>"
Response.Write "</a></td>"
%>
</TR>
<TR>
<TD width=15%>Du bor:</TD>
<TD><INPUT TYPE="text" NAME="Adresse" SIZE="30" VALUE="<% Response.WRite(sAdresse) %>"></TD>
</TR>
<TR>
<TD width=15%>Du bor:</TD>
<TD><INPUT TYPE="text" NAME="Postnr" SIZE="15" VALUE="<% Response.WRite(sPostnr) %>"></TD>
<TD><INPUT TYPE="text" NAME="By" SIZE="30" VALUE="<% Response.WRite(sBy) %>"></TD>
</TR>
<TR>
<TD width=15%>Din telefon ringer hvis jeg trykker:</TD>
<TD><INPUT TYPE="text" NAME="Tlf" SIZE="30" VALUE="<% Response.WRite(sTlf) %>"></TD>
</TR>
<TR>
<TD width=15%>Mobil:</TD>
<TD><INPUT TYPE="text" NAME="Mobil" SIZE="30" VALUE="<% Response.WRite(sMobil) %>"></TD>
</TR>
<TR>
<TD width=15%>ICQ:</TD>
<TD><INPUT TYPE="text" NAME="ICQ" SIZE="30" VALUE="<% Response.WRite(sICQ) %>"></TD>
</TR>
<TR>
<TD width=15%>MSN:</TD>
<TD><INPUT TYPE="text" NAME="MSN" SIZE="30" VALUE="<% Response.WRite(sMSN) %>"></TD>
</TR>
<TR>
<TD width=15%>Notat:</TD>
<TD colspan="2"><INPUT TYPE="text" NAME="Notat" SIZE="62" VALUE="<% Response.WRite(sNotat) %>"></TD>
</TR>
</TABLE>
<BR><BR>
<INPUT TYPE="submit" VALUE="Gem"> <INPUT TYPE="reset" Value="Fortryd"><BR>
</FORM>
<%
End Sub
Sub LoadVars
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\Inetpub\wwwroot\CCOS\nss03.mdb"
Conn.Open DSN
SQL = "Select * FROM Brugere"
Set rs = Conn.Execute(SQL)
if rs.bof = true and rs.eof = true then
Response.Write("Eleven findes ikke!")
else
do until rs.eof = true
if lcase(cstr(rs.fields("Elevnr").value)) = lcase(cstr(sElevnr)) then
sElevnr = Rs.Fields("Elevnr").value
sNavn = Rs.Fields("Navn").value
sEfternavn = Rs.Fields("Efternavn").value
sKlasse = Rs.Fields("Klasse").value
sAdresse = Rs.Fields("Adresse").value
sPostnr = Rs.Fields("postnr").value
sBy = Rs.Fields("By").value
sTlf = Rs.Fields("Tlf").value
sMobil = Rs.Fields("Mobil").value
sBdag = Rs.Fields("Bdag").value
sEmail = Rs.Fields("Email").value
sICQ = Rs.Fields("ICQ").value
sMSN = Rs.Fields("MSN").value
sNotat = Rs.Fields("Notat").value
sPic = Rs.Fields("Pic").value
exit do
end if
rs.movenext
Loop
end if
rs.Close
set rs = Nothing
set conn = Nothing
End Sub
Sub SaveVars
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\Inetpub\wwwroot\CCOS\nss03.mdb"
Conn.Open DSN
SQL = "Select * FROM Brugere"
Set rs = Conn.Execute(SQL)
if rs.bof = true and rs.eof = true then
Response.Write("Eleven findes ikke!")
else
do until rs.eof = true
if lcase(cstr(rs.fields("Elevnr").value)) = lcase(cstr(sElevnr)) then
Rs.Fields("Navn").value = sNavn
Rs.Fields("Efternavn").value = sEfternavn
Rs.Fields("Klasse").value = sKlasse
Rs.Fields("Adresse").value = sAdresse
Rs.Fields("postnr").value = sPostnr
Rs.Fields("By").value = sBy
Rs.Fields("Tlf").value = sTlf
Rs.Fields("Mobil").value = sMobil
Rs.Fields("Bdag").value = sBdag
Rs.Fields("Email").value = sEmail
Rs.Fields("ICQ").value = sICQ
Rs.Fields("MSN").value = sMSN
Rs.Fields("Notat").value = sNotat
rs.UpdateBatch adAffectAll
exit do
end if
rs.movenext
Loop
end if
rs.Close
set rs = Nothing
set conn = Nothing
End Sub
Sub ShowOK
%>
<B>Ændringerne er gemt</B><p>
<A HREF="Addresseoversigt.asp">Retur til Adresselisten</A>
<%
end Sub
%>
</body>
</html>
