Avatar billede freecodes Nybegynder
14. september 2001 - 20:28 Der er 7 kommentarer og
1 løsning

flere modes i samme fil..

Hvis man har flere modes i samme fil sakl man så gøre et eller andet for at det virker??

Koden for hele filen står nedenfor.
<%@ Language=VBScript %>
<% Response.Buffer = True %>



<%


\'Undersøger om session(\"Adgang\") er sat til Godkendt, er den ikke det bliver man sendt tilbage til adgangskontrol.asp
    If Not Session(\"Adgang\") = \"Godkendt\" Then
        Response.Redirect(\"login.asp?valg=forbudt\")
    End If
%>

<html>

<head>

<title>Lejlighedsinfo</title>
</head>
<body>
<%
set Conn = Server.createobject(\"adodb.connection\")
conn.Open \"DBQ=\"& Server.MapPath(\"..\") &\"../../../db/lejligheder.mdb; DefaultDir=DBQ=\"& Server.MapPath(\"/\") &\";Driver={Microsoft Access Driver (*.mdb)};\"
SQL = \"SELECT * FROM lej where brugernavn like \'%\" & Request.Cookies(\"Oplysninger\")(\"Username\") & \"%\'\"
Set RS = conn.Execute(SQL)


If not rs.eof then
   


response.write \"<table width=\'100%\' border=\'0\' cellpadding=\'2\'>\"

Do While Not rs.EOF
response.write \"<tr>\"
response.write \"<td width=\'50%\' bgcolor=#c5c5c5>\"& rs(\"by\") & \", &nbsp;\" & rs(\"adr\") &\"&nbsp;\"%><a href=\"lejlighedsinfo.asp?funktion=lejligheder&id=<%=RS(\"id\")%>\">Rediger her</a>
<% response.write \"</td>\"
response.write \"</tr>\"
rs.MoveNext
If Not (rs.BOF Or rs.EOF) Then
response.write \"<tr>\"
response.write \"<td width=\'50%\' bgcolor=#aaaaaa>\"& rs(\"by\") & \", &nbsp;\" & rs(\"adr\") &\"&nbsp;\"%><a href=\"lejlighedsinfo.asp?funktion=lejligheder&id=<%=RS(\"id\")%>\">Rediger her</a>
<% response.write \"</td>\"
response.write \"</tr>\"
rs.MoveNext
else
end if
Loop
end if
response.write \"</table>\"
%>
<%




%>



<%
If request(\"funktion\") = \"lejligheder\" then


set Conn = Server.createobject(\"adodb.connection\")
conn.Open \"DBQ=\"& Server.MapPath(\"..\") &\"../../../db/lejligheder.mdb; DefaultDir=DBQ=\"& Server.MapPath(\"/\") &\";Driver={Microsoft Access Driver (*.mdb)};\"
SQL = \"SELECT * FROM lej where id =\" & Request.QueryString(\"id\") 
Set RS = conn.Execute(SQL)


%>

<FORM ACTION=\"lejlighedsinfo.asp?funktion=opdater&id=<%=RS(\"id\")%>\" METHOD=\"POST\" onsubmit=\"return validate(this)\">
<font face=\"Verdana\" size=\"2\">


<TABLE WIDTH=\"30%\" BORDER=\"0\" CELLSPACING=\"0\" CELLPADDING=\"3\" CLASS=\"css\">
<TR>
    <TD width=\"100%\"><font face=\"Verdana\" size=\"2\">
    <input type=\"hidden\" name=\"id\" value=\"<%=RS(\"id\")%>\" size=\"20\">By: </font> </TD>
    <TD width=\"100%\"><%=RS(\"by\")%><font face=\"Verdana\" size=\"2\"></TD>
</TR>
<TR>
    <TD width=\"100%\"><font face=\"Verdana\" size=\"2\">Adresse: </font> </TD>
    <TD width=\"100%\"><font face=\"Verdana\" size=\"2\"><%=RS(\"adr\")%></font></TD>
        <TD width=\"100%\"><font face=\"Verdana\" size=\"2\">Ledig: </font> </TD>
    <TD width=\"100%\">
    <font face=\"Verdana\">
    <INPUT TYPE=\"text\" VALUE=\"<%=RS(\"ledig\")%>\" NAME=\"ledig\"  CLASS=\"css\" size=\"20\"></font></TD>
</TR>
</TABLE>
<TR>
Id på lejligheden <%=RS(\"id\")%>

    <TD width=\"100%\"><DIV ALIGN=\"center\"></DIV></TD>
    <TD width=\"100%\"><DIV ALIGN=\"center\"><font face=\"Verdana\"><INPUT TYPE=\"submit\" VALUE=\"Gem\" CLASS=\"css\"><font size=\"2\">
      </font> <INPUT TYPE=\"reset\" VALUE=\"Nulstil\" CLASS=\"css\"></font></DIV></TD>
</TR>
</FORM>

<%
RS.Close
Set RS = Nothing
Conn.Close
Set Conn = Nothing
%>

<%
if request(\"funktion\") = \"opdater\" then


Set Conn = Server.CreateObject(\"ADODB.Connection\")
Conn.Open \"PROVIDER=MSDASQL;DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\" & Server.MapPath(\"../../../db/lejligheder.mdb\") & \";UID=admin;PWD=;\"


Const adOpenKeyset = 1
Const adLockOptimistic = 3

    Set rs = Server.CreateObject(\"ADODB.RecordSet\")
    SQL = \"SELECT * FROM lej\"
    rs.Open SQL, Conn, adOpenKeyset, adLockOptimistic

      rs(\"ledig\") = Request.form(\"ledig\")
      rs.Update

    rs.Close
    Set rs = Nothing

Conn.Close
set Conn = Nothing
Response.write\"opdateret\"
End if
End if
%>

<a href=\"admbruger.asp\">tilbage</a>

</font>
<div align=\"center\">
  <center>
  <p>&nbsp;</p>
  </center>
</div>
<p>&nbsp;</p>
</body>

</html>


Det ville måske være en ide at copy/paste det ind i Dreamweaver eller hvad du nu bruger og lave det der fra...  :-) Ellers ser det sku lidt uoverskueligt ud..
Avatar billede tommyf Nybegynder
14. september 2001 - 20:29 #1
Prøv at læse dette:
http://www.nettokoders.dk/default.asp?side=res&submode=artikler&artikelid=7

Hvis du stadig er i tvivl så spørg.
Avatar billede januskh Nybegynder
15. september 2001 - 10:11 #2
En ting, som du kan gøre er at standardlisere dine Querystrings. Se her:

Dim sCMD

sCMD = Request.QueryString(\"funktion\")

Select Case UCase(sCMD)
Case UCase(\"lejligheder\")
  ... (skriv \'mode\' koden her i ...
Case UCase(\"opdater\")
  ... (skriv \'mode\' koden her i ...
Case Ucase(\"personer\")
  ... (skriv \'mode\' koden her i ...
Case else
  ... (skriv \'mode\' kode gældende, hvis ingen af de andre funktioner bruges.
End Select

Denne method benytter jeg altid, når jeg skal have flere \"modes\" i samme fil. Men det burde såmen også virke blot med if-sætninger. Men så er det en god idet at lave en stor if sætning med else if. Således:

Dim sCMD

sCMD = Request.QueryString(\"funktion\")


If UCase(sCMD) = UCase(\"lejligheder\") then
  ... (skriv \'mode\' koden her i ...
Else if UCase(sCMD) = UCase(\"opdater\") then
  ... (skriv \'mode\' koden her i ...
Else if UCase(sCMD) =  Ucase(\"personer\") then
  ... (skriv \'mode\' koden her i ...
else
  ... (skriv \'mode\' kode gældende, hvis ingen af de andre funktioner bruges.
End if

Held og lykke

/JanusKH
Avatar billede tommyf Nybegynder
15. september 2001 - 20:34 #3
januskh >> Det hedder da \"elseif\" i ét ord?
Avatar billede freecodes Nybegynder
15. september 2001 - 20:38 #4
det virker hvis jeg skriver..



<%    Set    Conn = Server.CreateObject(\"ADODB.Connection\")
\' Her defineres hvilken type database samt hvor der connectes til den (testdatabase.mdb, i samme biblotek).  Lå den i et biblotek oven over skulle der selvfølgelig skrives \"mappe/testdatabase.mdb\" istedet.
    Conn.Open \"Driver={Microsoft Access Driver (*.mdb)};DBQ=\" & Server.Mappath(\"testdatabase.mdb\")
\' Her giver jeg besked på at der skal hentes samlige data fra, tabellen \"Data\"
    SQL = \"SELECT * FROM data\"
    Set RS = Conn.Execute(SQL)


\'Tjecker om der overhoved er noget i databasen...
    if RS.eof then
\' Hvis der ikke er spytter den flg. ud
    response.write \"Databasen er tom\"
    end if

\' Men hvis den ikke er tom, begynder den nedenunder at pløje en masse dataer ud.
Do While Not RS.EOF
%>

<a href=\"default.asp?funktion=slet&id=<%=RS(\"ID\")%>\">Slet link</a> - <a href=\"<%=RS(\"SiteURL\")%>\"><%=RS(\"Sitenavn\")%></a><br>

<%
\' Og her kører den hele tromlen én gang til, indtil der ikke er flere poster.
RS.MoveNext
Loop

\' Her lukker og slukker vi for databasen - En vigtig ting at huske!
RS.Close
Set RS = Nothing
Conn.Close
Set Conn = Nothing %><%
\' Dette er så den del der sørger for at indlæget bliver slettet. 
If request(\"funktion\") = \"slet\" then

    Set Conn = Server.CreateObject(\"ADODB.Connection\")
\' Åbner og definere databasens egenskabet
    Conn.Open \"Driver={Microsoft Access Driver (*.mdb)};DBQ=\" & Server.Mappath(\"testdatabase.mdb\")
\' Her bér vi om at slette det bestemte indlæg, som der fefineret som ID
    SQL = \"Delete from Data WHERE id=\" & Request.QueryString(\"id\")

\' Vores forspørgsel om at slette indlæget bliver udført
    Conn.Execute (SQL)
   
\' Og databasen lukkes af
    Conn.Close
    set Conn = nothing
   
\' Her defineres hvad den skal gøre når indlæget er blevet slettet.  I dette tilfælde har vi bedt den om at skrive en tekst, som bekræftelse.  Man kunne også sende brugeren videre til en anden side, hvilket gøres med:  Response.redirect \"ønskedefil.asp\"
    response.write \"<br><br><b>Indlæget er slettet.</b>\"
   
\' Her lukket vi vores IF sætning af.  Der skal være en End If hvis man tidligere har brugt en IF (Hvilket vi gør ca 20 linjer længere oppe)
End If
%>
Avatar billede freecodes Nybegynder
15. september 2001 - 20:39 #5
men ellers tak.. du får point... ;-)
Avatar billede tommyf Nybegynder
15. september 2001 - 20:41 #6
Du bruger min metode men giver kun point til ham der er en dag langsommere?
Den fatter jeg ikke.
Avatar billede freecodes Nybegynder
15. september 2001 - 20:42 #7
sorry.. jeg trode det var dig jeg gav point...

har kun 10 point tilbage... laver lige et spg så får du dem.. (sorry) :-(
Avatar billede tommyf Nybegynder
15. september 2001 - 21:02 #8
freecodes >> Behøver du ikke.

januskh >> Han ramte ved siden af, laver du et spørgsmål med 60 point så fejlen kan blive rettet.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester