Avatar billede cronck Nybegynder
24. oktober 2003 - 15:52 Der er 7 kommentarer og
2 løsninger

Underlige ASP Fejl

Jeg er igang med at lave et lille community, til små interne beskeder...
Hver gang jeg forsøger at åbne det på min server får jeg beskeden... The page cannot be displayed
Jeg kan ikk finde fejlen... Kan du?

<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("cgi-bin/database.mdb")
1231Conn.Open DSN
%>
<%
strSQLMail = "Select * from tbl_Mails Order By Date"
Set rsMail = Conn.Execute(strSQLMail)
%>
<%
strSQLUser = "Select * from tbl_Users Order By Date"
Set rsUser = Conn.Execute(strSQLUser)
%>
<%
strSQLCheckUser = "Select * from tbl_Users where User = request.form("struser")"
Set rsCheckUser = Conn.Execute(strSQLCheckUser)
%>
<html>
<head>
<meta http-equiv="Content-Language" content="da">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Forside</title>
</head>
<body link="#000000" vlink="#000000" alink="#000000">
<center>
<table border="1" width="600" cellspacing="0" bordercolordark="#9D9DFF" bordercolorlight="#9D9DFF" cellpadding="0">
  <tr>
    <td>
      <table border="0" width="600" cellpadding="0" cellspacing="0" height="78" bgcolor="#E6E6FF">
        <tr>
          <td align="center" height="45">
            <a href="default.asp" class="menulink">Forside</a><b> - </b><% if session("LoggedIn") = True then %><a href="default.asp?page=inbox" class="menulink">Mail
            indbakke</a><b> - </b><a href="default.asp?page=write" class="menulink">Skriv
            mail</a><b> - </b><a href="default.asp?page=userlist" class="menulink">Brugerliste</a><b> - </b><a href="default.asp?page=logout" class="menulink">Log ud</a><b> - </b><% else %><a href="default.asp?page=login" class="menulink">Log
            ind</a><b> - </b><a href="default.asp?page=opret" class="menulink">Opret
            bruger</a><% end if %>
            <hr color="#9D9DFF">
          </td>
        </tr>
        <tr>
          <td height="300" valign="top"><br><center>
          <% if session("LoggedIn") = "" AND request.querystring("page") = "" then %>
            Velkommen til dette lille gratis community.<br>Her har du
            følgende muligheder:<br><b><a href="default.asp?do=opret">Oprette bruger</a></b><br><b>Modtage Interne Emails</b><br><b>Sende intern mail til de andre brugere</b>
            <br><br>Formålet med dette site er at det er at gøre det nemmere at <br>kommunikere med dine venner på en hurtig og nem
            måde...<br><br>Source koden er endnu ikke frigivet da communtiet ikke er færdiglavet.
            <% elseif request.querystring("page") = "login" then %>
            <table border="0" cellspacing="1">
              <tr>
                <td colspan="2"><b>Log ind:</b></td>
              </tr>
              <tr>
                <td>Brugernavn</td>
                <td><form action="default.asp" method="post">
                <input type="text" name="struser" size="16" value="Brugernavn"></td>
              </tr>
              <tr>
                <td>Password</td>
                <td><input type="password" name="strpass" size="16" value="Password"></td>
              </tr>
              <tr>
                <td colspan="2" align="center"><input type="submit" name="Log ind" value="Log ind">
          </form></td>
              </tr>
            </table>
          <% elseif request.querystring("page") = "checklogin" then %>
          <%
            if request.form("struser") = request.rsCheckUser("User") AND request.form("strpass") = request.rsCheckUSer("Password") then
            session("LoggedIn") = True
            response.redirect "default.asp"
            end if
          %>
          <% elseif request.querystring("page") = "oprettet" then %>
          <b>Din bruger er nu oprettet<b>
            <table border="0" cellspacing="1">
              <tr>
                <td colspan="2"><b>Log ind:</b></td>
              </tr>
              <tr>
                <td>Brugernavn</td>
                <td><form action="default.asp" method="post">
                <input type="text" name="struser" size="16" value=""</td>
              </tr>
              <tr>
                <td>Password</td>
                <td><input type="password" name="strpass" size="16" value=""></td>
              </tr>
              <tr>
                <td colspan="2" align="center"><input type="submit" name="Log ind" value="Log ind">
          </form></td>
              </tr>
            </table>
          <% elseif request.querystring("page") = "opret" then
              if request.querystring("opret") = "do" then
                if request.form("strpass") = "" OR request.form("strpass2") = "" OR request.form("struser") = "" OR request.form("stremail") = "" then
                  response.redirect "default.asp?page=opret&error=Et eller flere af de 4 første felter blev ikke udfyldt!"
                end if
                if request.form("strpass") = request.form("strpass2") then
                  'Add til databasen
                  response.redirect "default.asp?page=oprettet"
                else
                  response.redirect "default.asp?page=opret&error=De 2 passwords var ikke ens."
              end if
            else %>
            <table border="0" cellspacing="1" width="237">
              <tr>
                <td colspan="2"><b>Opret Bruger:</b></td>
              </tr>
              <tr>
                <td colspan="2" align="left"><font color="red"><% response.write "" & request.querystring("error") & "" %></font>
              </td>
              </tr>
              <tr>
                <td>Brugernavn:</td>
                <td><form action="default.asp?page=opret&opret=do" method="post">
                <input type="text" name="struser" size="16"></td>
              </tr>
              <tr>
                <td>Password:</td>
                <td><input type="password" name="strpass" size="16"></td>
              </tr>
              <tr>
                <td>Password igen:</td>
                <td><input type="password" name="strpass2" size="16"></td>
              </tr>
              <tr>
                <td>E-mail:</td>
                <td><input type="text" name="stremail" size="16"></td>
              </tr>
              <tr>
                <td>ICQ:</td>
                <td><input type="password" name="stricq" size="16"></td>
              </tr>
              <tr>
                <td>Andet:</td>
                <td><input type="text" name="strandet" size="16"></td>
              </tr>
              <tr>
                <td colspan="2" align="center"><input type="submit" name="Opret" value="Opret">
          </form></td>
              </tr>
            </table>
          <% end if %>
          <% elseif request.querystring("page") = "inbox" then
            if session("LoggedIn") = "" then
            response.redirect "default.asp?page=needlogin"
            else %>
            Mail indbox
            <% end if %>
          <% end if %>
          </center>
            </b></b>
          </td>
        </tr>
        <tr>
        <td height="20px">
        </td>
        </tr>
      </table>
    </td>
  </tr>
</table>
</center>
<center><font color="#9D9DFF">Copyright 2003 CroncK</font></center>
</body>
</html>
<%
' Luk databaseforbindelse
Conn.Close
Set Conn = Nothing
%>
Avatar billede thesurfer Nybegynder
24. oktober 2003 - 15:55 #1
det første du gør, er at tilføje Option Explicit i toppen af din asp kode.. derefter definere du alle de variabler du bruger.
Hvis du ikke definere dine variabler, vil du få fejl.

Når du har gjort det, vend tilbage med noget feedback.
Avatar billede Slettet bruger
24. oktober 2003 - 16:02 #2
Linien, 1231Conn.Open DSN er nok ikke helt god...
Avatar billede thesurfer Nybegynder
24. oktober 2003 - 16:11 #3
ezolu> hehe.. det er rigtigt.. og det ville han også have fundet ud af hvis han havde brugt Option Explicit..
jeg så den godt, men troede at han havde kaldt den for 1231conn.. så ikke linien set conn...

cronck> brug altid option explicit, og definer altid dine variabler.
Avatar billede Slettet bruger
24. oktober 2003 - 16:17 #4
Derudover ville det nok være en fordel for dig at slå "Vis uskadelige HTTPfejl" fra under Funktioner > Options > Avanceret...
Avatar billede thesurfer Nybegynder
24. oktober 2003 - 16:27 #5
.. og hvis man bruger response.buffer = false lige under option explicit, vil den vise al den html den kan, indtil fejlen..i stedet for bare at vise fejl..
det giver og en god ide om hvor fejlen er.
Avatar billede cronck Nybegynder
30. oktober 2003 - 09:37 #6
hvad er option explicit,
Ps. jeg begyndte forfra og delte hele skidtet op i flere filer... ;-)
Avatar billede thesurfer Nybegynder
30. oktober 2003 - 17:40 #7
"det første du gør, er at tilføje Option Explicit i toppen af din asp kode.. derefter definere du alle de variabler du bruger.
Hvis du ikke definere dine variabler, vil du få fejl."

Den tvinger programmøren til at definere variablerne.. så kan den give besked hvis bruger et ukendt ord (stavefejl).
Avatar billede thesurfer Nybegynder
18. december 2003 - 04:24 #8
Dette spørgsmål mangler input.
Det kan f.eks. være at spørgeren mangler at acceptere/afvise svar/komme med feedback, eller af en svarer mangler at lægge et svar/komme med feedback.
Avatar billede cronck Nybegynder
03. februar 2004 - 13:45 #9
Deler point'ne mellem jer
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