Avatar billede Slettet bruger
15. september 2006 - 11:04 Der er 15 kommentarer og
1 løsning

fejl i edituser.asp hjælp

Hejza. Jeg har et asp login system det virker fint. Der er bare problemer med at logge sig ind som admi fordi der får jeg fejl.
og det er disse fejl jeg får når jeg logger mig ind som admi:

Server.MapPath() error 'ASP 0175 : 80004005'

Disallowed Path Characters

/LoginSYS/site-admin/edituser.asp, line 127

The '..' characters are not allowed in the Path parameter for the MapPath method.



og hvis man opdater siden så kommer:


Microsoft OLE DB Provider for ODBC Drivers error '80004005'

[MySQL][ODBC 3.51 Driver]Can't connect to MySQL server on 'db.cd4all.dk' (10061)

/LoginSYS/site-admin/edituser.asp, line 127


Her er edituser.asp koden:

<%@ Language=VBScript %>

<%
option explicit
response.buffer = true
dim flag
dim bgcolor
%>

<%Response.Expires = -1 %>
<%Response.ExpiresAbsolute = Now() - 1 %>
<%Response.AddHeader "pragma", "no-cache" %>
<%Response.AddHeader "cache-control", "private" %>
<%Response.CacheControl = "no-cache" %>

<%
Response.Expires = -1000
Response.Buffer = True
Response.Clear
%>

<!--RAHUL MAHAJAN -->
<!--SCRIPT DESIGNED AND DEVELOPED BY RAHUL MAHAJAN -->
<!--MULTI-USER LOGIN WITH DATABASE CONNECTION-->
<!--FEEL FREE TO MAKE CHANGES ACCORDINGLY-->
<!--If you face any problem, Please mail me anytime-->
<!--E-MAIL:mahajan_rahul@hotmail.com-->
<!--Date: 5th May, 2005-->
<!--Please rate it on www.planetsourcecode.com-->

<%
Response.Expires = -1000
Response.ExpiresAbsolute = Now() - 1
If Session("UserLoggedIn") = "" then
    Response.Redirect ("admin.asp")
    Response.End
End If
%>


<head>
<title>Account Information Of Registered Users.</title>
<meta http-equiv="Content-Language" content="en-us">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<STYLE TYPE="text/css">

BODY
{
scrollbar-base-color: #7782C3;
scrollbar-arrow-color: #ffffff;
scrollbar-DarkShadow-Color: #000000;
}
</STYLE>
</head>

<style>
BODY
{
    BACKGROUND-COLOR: white;font-size:14px;font-family:Arial,Verdana;
}
a
{
color:blue;text-decoration:none;
}

a:hover
{
color:red;text-decoration:underline;
}

td
{
color:#000000;font-size:12px;font-family:Arial,Verdana;
}


.inputSubmit
{
font-size:7pt;
color:white;
background-color: black;
BORDER-BOTTOM: 1px solid;
BORDER-LEFT: 1px solid;
BORDER-RIGHT: 1px solid;
BORDER-TOP: 1px solid;
z-index:10;
}

.inputBut
{
font-family:Verdana,Arial;
font-size:10pt;
background-color: white;
BORDER-BOTTOM: 1px solid;
BORDER-LEFT: 1px solid;
BORDER-RIGHT: 1px solid;
BORDER-TOP: 1px solid;
z-index:10;
}

</style>
<script>
function rusure() {

if (confirm("Are you sure You want to Delete?")) {
return true;
} else {

return false;
}
}
</script>
<body topmargin="0" leftmargin="0" marginwidth="0" marginheight="0" >
<div align="center">
  <center>
  <table border="0" width="779" cellspacing="0" cellpadding="0" height="20">
    <tr>
      <td width="779" valign="middle" align="right" height="20"><b><a href="logout.asp" target="_top"><font face="Verdana" size="2" color="#FF0000">LOGOUT</font></a><font face="Verdana" size="2" color="#000080">&nbsp;&nbsp;&nbsp;&nbsp;
        &nbsp;</font>
        </b></td>
    </tr>
  </table>
  </center>
</div>
<%
dim dsn
dsn="DBQ=" & Server.Mappath("..\db\users.mdb") & ";pwd=password;Driver={Microsoft Access Driver (*.mdb)};"
%>
<%
response.buffer = true
dim useraction,subject,comm,Cust_Name,Cust_Lastname,Cust_Address,Cust_City,Cust_Country,email,conn,rs,sql
dim id
    Set Conn = Server.CreateObject("ADODB.Connection")
    Set Rs = Server.CreateObject("ADODB.Recordset")
    Conn.Open dsn
    SQL = "SELECT id,Cust_Name,Cust_Lastname,Cust_Address,Cust_City,Cust_Country,email from CustRecords order by id desc"
    rs.open sql,conn
    if rs.eof and rs.bof then
        response.write "<p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><center><b><font face=""Arial,Verdana"" size=""5"" color=""#FF0000"">Sorry!</font></b>&nbsp;&nbsp;<b><font face=""Verdana"" size=""2"" color=""#000080"">There are no records of Register Users in our Database.</font></b><br><font face=""Verdana"" size=""2"" title=""Click Here""><a href=../login.asp>Click Here To Continue</a></font>"
    else
        response.write "<table>"
        do while not rs.eof
            if flag = 0 then
                flag = 1
                bgcolor = "#CFCFCF"
            else
                flag = 0
                bgcolor = "#E9E9E9"
    end if
           
            response.write "<tr bgcolor=" & bgcolor & "><td>"
            Cust_Name = rs("Cust_Name") & " "
            Cust_Lastname = rs("Cust_Lastname") & "</td><td>"
            Cust_Address = rs("Cust_Address") & "</td><td>"
            Cust_City = rs("Cust_City") & "</td><td>"
            Cust_Country = rs("Cust_Country") & "</td><td>"
            id = rs("id")
            Email = rs("Email") & "</td><td><a onclick='return rusure()' href='deleteuser.asp?id="& id &"'>Delete User</a></td>"
           
           
           
%>
&nbsp;
<%
            response.write id
%>
&nbsp;&nbsp;
<%
            response.write Cust_Name
            response.write Cust_Lastname
%>
&nbsp;
<%
            response.write Cust_Address
%>
&nbsp;
<%
            response.write Cust_City
%>
&nbsp;
<%
            response.write Cust_Country
%>
&nbsp;
<%
            response.write Email
           
        rs.movenext
        loop
            response.write "</tr></table></font>"
    end if
%>


her er linje 127 som den siger der er fejl i:

dsn="DBQ=" & Server.Mappath("..\db\users.mdb") & ";pwd=password;Driver={Microsoft Access Driver (*.mdb)};"

Så jeg håber der er nogen der kan hjælpe mig. Fordi jeg sedder godt nok fast. :(

På forhånd tak. ;)
Avatar billede cpufan Juniormester
15. september 2006 - 11:39 #1
serveren er sat op til ikke at acceptere "..\" da det er en potentiel sikkerhedsrisiko.

Server.Mappath("..\db\users.mdb")

skal ændres til :

erstat .. med navnet på den mappe som "mappen db ligger i"

så der kommer til at stå

Server.Mappath("mappenavn\db\users.mdb")
Avatar billede ffsoft Praktikant
15. september 2006 - 11:42 #2
Du kan ikke bruge en access driver til en mySQL database
Avatar billede cpufan Juniormester
15. september 2006 - 11:57 #3
users.mdb er da en access-db

mysql-fejlen må komme fra noget andet
Avatar billede Slettet bruger
15. september 2006 - 12:02 #4
ok det er også væk nu når får jeg kun denne fejl

Microsoft OLE DB Provider for ODBC Drivers error '80004005'

[Microsoft][ODBC Microsoft Access Driver]General error Unable to open registry key 'Temporary (volatile) Jet DSN for process 0xe18 Thread 0x6a4 DBC 0x1d8bb024 Jet'.

/LoginSYS/site-admin/edituser.asp, line 135


jeg lavet det sådan som jeg forstod jeg skulle lave det:

dsn="DBQ=" & Server.Mappath("site-admin\db\users.mdb") & ";pwd=password;Driver={Microsoft Access Driver (*.mdb)};"

ved ikke om det er forkert. :)

her er linje 135 som der er fejl i:

Conn.Open dsn
Avatar billede cpufan Juniormester
15. september 2006 - 12:10 #5
betyder at den ikke kan finde db'en

i stedet for

Server.Mappath("site-admin\db\users.mdb")

kan du angive den fysiske sti.

det kræver naturligvis at du ved hvad den er.

hvor ligger mappen "db" i forhold til din startside?
i roden af dit site lav en side der hedder "sti.asp"

<%=server.mappath("/")%>
fortæller dig den fysiske sti til roden af dit site.
Avatar billede cpufan Juniormester
15. september 2006 - 12:15 #6
alternativt:

fortæl hvor filen edituser.asp ligger i forhold til users.mdb
Avatar billede hnteknik Novice
15. september 2006 - 12:26 #7
Problemet ligger nok i den gamle connection string som ikke supporteres mere:

dsn="DBQ=" & Server.Mappath("..\db\users.mdb") & ";pwd=password;Driver={Microsoft Access Driver (*.mdb)};"

Brug application path istedet for mappath
Avatar billede hnteknik Novice
15. september 2006 - 12:28 #8
Prøv denne type i stedet for:

strConnect = _
    "Provider=Microsoft.Jet.OLEDB.4.0;" &_
    "Data Source=d:\home\FTPBrugernavn\db\database.mdb;"
Avatar billede Slettet bruger
15. september 2006 - 12:29 #9
Skulle bare bruge et login til min hjemmeside så jeg kender ikke noget til asp programmering.

Der hvor index.htm osv ligger til start siden der har jeg lavet en mappe der hedder LoginSYS der inde ligge login.asp og nogen andre filer. Så i i Mappe LoginSYS der ligger så mappe site-admin også inde i site-admin der ligger edituser.ASP inde i site-admin der ligger så en mappe der hedder db. og inde i mappe db der ligger users.mdb. LoginSYS -> site-admin -> db -> users.mdb håber du forstå det. :)
Avatar billede cpufan Juniormester
15. september 2006 - 12:34 #10
ok

dsn="DBQ=" & Server.Mappath("\db\users.mdb") & ";pwd=password;Driver={Microsoft Access Driver (*.mdb)};"
Avatar billede cpufan Juniormester
15. september 2006 - 12:35 #11
hov

skal være


dsn="DBQ=" & Server.Mappath("db\users.mdb") & ";pwd=password;Driver={Microsoft Access Driver (*.mdb)};"
Avatar billede Slettet bruger
15. september 2006 - 12:52 #12
Takker nu virker det. cpufan lig lige et svare hvis du vil. :)
Avatar billede cpufan Juniormester
15. september 2006 - 12:59 #13
kommer her
Avatar billede hnteknik Novice
15. september 2006 - 13:24 #14
Du skulle nu skrive din connection string om til

dsn="Provider=Microsoft.Jet.OLEDB.4.0;" &_
    "Data Source=" & Server.Mappath("db\users.mdb");"

Den anden er for gammel og giver for dårlig performance ;-))
Avatar billede ffsoft Praktikant
15. september 2006 - 13:32 #15
.mdb er ganske rigtigt en Access database men fejlen lød:

Microsoft OLE DB Provider for ODBC Drivers error '80004005'

[MySQL][ODBC 3.51 Driver]Can't connect to MySQL server on 'db.cd4all.dk' (10061)
Avatar billede hnteknik Novice
15. september 2006 - 13:50 #16
Bemærk nu, at serveren kører med

"Microsoft OLE DB Provider"

og det er netop lige det, du skulle gøre. det har ikke noget med fejlen at gøre.
Når den fejler på den gamle type connection string, så fisker den efter den fejlmeddelelse som ligger tættest. Skift til den nye conn string er kun et godt råd, du må sgu selv om det.
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