Avatar billede remo27 Nybegynder
18. maj 2007 - 01:41 Der er 3 kommentarer og
1 løsning

lidt hjælp til en adm. side

jeg er ved at lave en lille adm side. kunne godt tænke mig at når man klikker på feks. Rediger info, så kommer det man skal rette i på samme side, så man får den oplevelse at man sidder på den samme side og retter sine oplysninger.

Men jeg får denne fejl

Fejltype:
Der opstod en Microsoft VBScript-kompileringsfejl (0x800A0400)
En sætning var ventet
/web/Adpd/admin/redigerinfo.asp, line 2
option explicit

har lavet dette.

***** index.asp *******

<!-- #include file="headerinfo.asp" -->
<% if session("id") = "" then %>
<!-- her kan du putte ting der skal vises, hvis man IKKE er logget ind -->
<a href="login.asp">login</a>
<% end if %>

<%
if session("id") <> "" then
%>
<!-- her kan du putte ting der skal vises, hvis man ER logget ind -->
<center>
<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="90%">
  <tr>
    <td width="100%" class="topbar" align="center">Administrator siden</td>
  </tr>
  <tr>
    <td width="100%">Velkommen til administrator siden. På denne side kan du
    rette i dine oplysninger, uploade billeder til dit visitkort, tilføje
    guldkorn til hjemmesiden, oprette annonce til køb/salg.</td>
  </tr>
  <tr>
    <td width="100%" align="center">&nbsp;<a href="default.asp?emne=index&emne2=retdp">Rediger info</a> |
    Tilføje Guldkorn | Upload billeder | Køb/Salg |
<a href="admin/logout.asp">Log ud</a> |<% if session("status") = "admin" then %>
<a href="admin/admin.asp">admin-sektionen</a>
<% end if %><% end if %></td>
  </tr>
</table>
<br>
<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="90%">
  <tr>
    <td width="100%"><% if Trim(Request.QueryString("emne2")) = "retdp" then %>
<!--#include file="redigerinfo.asp" -->
<%end if%> &nbsp;</td>
  </tr>
</table>
</center>


********** redigerinfo.asp ***************

<%
option explicit
response.buffer = true

' Hvis man ikke er logget ind, skal man ikke kunne se denne side
if session("id") = "" then response.redirect "../default.asp?emne=login"
%>
<!-- #include file="headerinfo.asp" -->
<!-- HUSK DOCTYPE -->
<html>
<head>
<title>Rediger info</title>
</head>
<body bgcolor="#C0C0C0">
<%
function fixtegn(s)
fixtegn = replace(s, "'", "''")
end function

dim opdateret
opdateret = ""

dim brugerid
brugerid = CInt(session("id"))

dim isAdmin, isSynlig
isAdmin = false
isSynlig = ""

if request.querystring("mode") = "admin" then
    if session("status") <> "admin" then
        response.redirect "../default.asp?emne=login"
    else
        brugerid = request.querystring("id")
        isAdmin = true
    end if
end if

dim conn, dsn, rs, sql

Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("../db/brugerinfo.mdb")
Conn.Open DSN

if request.servervariables("request_method") = "POST" then
    ' der skal opdateres
   
    navn = fixtegn(request.form("navn"))
    adresse = fixtegn(request.form("adresse"))
    postnr = fixtegn(request.form("postnr"))
    tekst = fixtegn(request.form("tekst"))

    dim sqlSynlig
    sqlSynlig = "0"
    if request.form("synlig") <> "" then sqlSynlig = "1"

    sql = "update tblBrugerInfo set "
    sql = sql & "navn = '" & navn & "', "
    sql = sql & "adresse = '" & adresse & "', "
    sql = sql & "postnr = '" & postnr & "', "
    sql = sql & "tekst = '" & tekst & "', "
    sql = sql & "synlig = " & sqlSynlig & " "
    sql = sql & "where id = " & brugerid

    conn.execute(sql)

    opdateret = "<br><b>Profilen er nu opdateret</b>"
    response.redirect "../default.asp?emne=admin"
end if
    ' der skal hentes

dim fejl
fejl = false

sql = "select * from tblBrugerInfo where id = " & brugerid
set rs = conn.execute(sql)

dim navn, adresse, postnr, tekst
if not rs.eof then
    navn = "" & rs("navn")
    adresse = "" & rs("adresse")
    postnr = "" & rs("postnr")
    tekst = "" & rs("tekst")
    if isAdmin then
        if CBool(rs("synlig")) then isSynlig = " checked"
    end if
else
    fejl = true
end if

Conn.Close
set rs = nothing
Set Conn = Nothing

if fejl = true then response.redirect "login.asp"
%>

<center>
<Form Action="redigerinfo.asp<% if request.querystring <> "" then response.write "?" & request.querystring%>" method="post">
<table cellspacing=0 border=0 cellspacing="0" cellpadding="5" width=320>
<tr>
  <td colspan=2 height=20  width="310">
<b>Ret Oplysninger:</b>
  </td>
</tr>
<tr>
  <td width="64">
    navn</td>
  <td align=right width="236">
    <input type="text" name="navn" size="32" value="<%=navn%>"></td>
</tr>

<tr>
  <td width="64">
    adresse</td>
  <td align=right width="236">
    <input type="text" name="adresse" size="32" value="<%=adresse%>"></td>
</tr>
<tr>
  <td width="64">
    postnr</td>
  <td align=right width="236">
    <input type="text" name="postnr" size="32" value="<%=postnr%>"></td>
</tr>
<tr>
  <td width="64">
    tekst</td>
  <td align=right width="236">
    <textarea rows="12" name="tekst" cols="28"><%=tekst%></textarea></td>
</tr>
<% if isAdmin then %>
<tr>
  <td colspan=2 width="310">
    <Div Align=right>Synlig:
      <Input type="checkbox" name="synlig"<%=isSynlig%> value="ON"></div>
  </td>
</tr>
<% end if %>
<tr>
  <td colspan=2 width="310">
    <Div Align=right><Input type="submit" Value="Ret"></div>
  </td>
</tr>
</table>
</form>

<%=opdateret%>
</BODY>
</HTML>
Avatar billede w13 Novice
18. maj 2007 - 02:36 #1
Hmm, prøv at fjerne "option explicit" i starten af redigerinfo.asp.
Avatar billede remo27 Nybegynder
18. maj 2007 - 02:50 #2
Så er den fjernet. men så kommer denne fejl.

Navnet er omdefineret
/web/Adpd/admin/redigerinfo.asp, line 26, column 4
dim isAdmin, isSynlig
---^
Avatar billede fennec Nybegynder
18. maj 2007 - 08:24 #3
Jeg vil kraftigt anbefale at bibeholde option explicit.

Desuden SKAL option explicit stå som noget af det det første på siden. Der må kun sættes @ variabler før den. Jeg har f.eks en start.asp side, som jeg inkludere i første linje på alle mine sider. Den starter sådan:
<% @LANGUAGE = VBScript %><% Option Explicit %><%
Response.CacheControl = "no-cache"
Response.AddHeader "Pragma", "no-cache"
Response.Expires = -1
session.timeout = 60
session.lcid = 1030
Server.ScriptTimeout = 90
...

Da dun inkludere redigerinfo.asp et godt stykke nede på din index.asp side, og redigerinfo har option explicit, vil siden fejle.
Avatar billede remo27 Nybegynder
26. maj 2007 - 10:02 #4
jeg fandt selv fejlen, det viste sig at være flere asp sider, med dim'er som skulle udkommeteres...
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