WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   Lägga in info från olika avdelningar/asp-sidor... (https://www.wn.se/forum/showthread.php?t=10560)

Spinn 2005-10-26 16:51

Hejsan!

Jag sliter mitt hår snart! :unsure:

Jag har t.ex. forum, annonstorg, kattnytt och kattlänkar och jag vill ha de fem första nya "inläggen" av varje avdelning på framsidan så att indexsidan automatiskt uppdateras. Avdelningarna ligger i egna mappar, därav att jag får problem, tror jag.

Har försökt med följande:

<!--#include virtual="/forum5/kattnytt/news2.asp"-->
<!--#include file="/forum5/kattnytt/news2.asp"-->

Det fungerar inte i heller om jag anger hela sökvägen, för det verkar som om scriptet anger sökvägen på något märkligt sätt så det blir omrepning om jag gör så. Någon som kan hjälpa mig? Jag kan inte själv programmera (tyvärr!!).

Ett ex.
Jag vill infoga på denna sida www.domän.nu/a.asp

Filen jag vill ha in är: www.domän.nu/forum5/kattnytt/news2.asp
Databasen finns här: www.domän.nu/forum5/kattnytt/db/

MVH Käthe

DeSoto 2005-10-26 17:01

Det borde ju fungera med SSI, men testa med:
Server.Execute("/forum5/kattnytt/news2.asp")

Tog mig fräckheten att undersöka felmeddelandet du får där, och det den klagar på är att databasen inte ligger i:
www.domän.nu/forum5/kattnytt/db/

Dubbelkolla att databasen ligger där, och att den heter var du tror att den heter.

Spinn 2005-10-27 12:29

OK! Tack! :)
Ska testa om det fungerar.

Spinn 2005-10-27 12:41

Det fungerade inte, får fram texten rakt upp och ner:

Server.Execute("/forum5/kattnytt/news2.asp")

Tror inte att webbhotellet tillåter SSI, om det kan påverka?

DeSoto 2005-10-27 12:47

Server.Execute("/forum5/kattnytt/news2.asp")
är ASP, så det ska stå:
<%
Server.Execute("/forum5/kattnytt/news2.asp")
%>

Ifall webbhotellet inte tillåter SSI påverkar inte ifall du kan köra Server.Execute eller inte. Det enda problemet med Server.Execute är att variabler från sidor du inkluderar inte följer med. Dvs, om du har databasuppgifter i en fil (db.asp), och server.executar in den i en annan fil (forum.asp), så blir ändå inte databasen tillgänlig i forum.asp.

Milad 2005-10-27 12:47

Citat:

Originally posted by Spinn@Oct 27 2005, 12:41
Det fungerade inte, får fram texten rakt upp och ner:

Server.Execute("/forum5/kattnytt/news2.asp")

Tror inte att webbhotellet tillåter SSI, om det kan påverka?

Jag är hundra på att webbhotellet måsta ställa in så att du kan inkludera filer från en annan mapp. Funktionen heter Parent path och det måsta man välja för varje domän ifall de inte har ställt in det att det sker automatiskt men av erfarenhet så vet jag att det är ytterst sällan de gör det.

Spinn 2005-10-27 13:02

Citat:

Originally posted by DeSoto@Oct 27 2005, 12:47

<%
Server.Execute("/forum5/kattnytt/news2.asp")
%>

Då får jag detta meddelande:

Microsoft JET Database Engine error '80004005'
'd:\clients\katt.nu\wwwroot\db\news.mdb' is not a valid path. Make sure that the path name is spelled correctly and that you are connected to the server on which the file resides.

/forum5/kattnytt/news2.asp, line 24


Antagligen på grund av det du skrev. Så dår får jag väl försöka ändra i news.asp?

Spinn 2005-10-27 13:04

Citat:

Originally posted by Milad@Oct 27 2005, 12:47
Jag är hundra på att webbhotellet måsta ställa in så att du kan inkludera filer från en annan mapp. Funktionen heter Parent path och det måsta man välja för varje domän ifall de inte har ställt in det att det sker automatiskt men av erfarenhet så vet jag att det är ytterst sällan de gör det.

OK! Tack, då ska jag be dem göra det. Fast jag kanske ändå får ändra i news2.asp?

DeSoto 2005-10-27 13:05

Japp. Det felmeddelandet säger ju att databasen news.mdb inte ligger i den mappen. Så dubbelkolla var din databas ligger. Har du fler än en databas? Det är alltid bäst att bara ha en databas. Sen bör du även lägga din databas utanför roten, så att man inte kan helt sonika ladda ner den.

Men som Milad sa, SSI är nästan helt säkert aktiverat. Och av den anledning jag skrev innan är det bättre att använda SSI än Server.Execute. SSI kan dock inte användas i samband med if-satser, vilket server.execute kan.

Spinn 2005-10-27 13:10

Citat:

Originally posted by DeSoto@Oct 27 2005, 13:05
Japp. Det felmeddelandet säger ju att databasen news.mdb inte ligger i den mappen. Så dubbelkolla var din databas ligger. Har du fler än en databas? Det är alltid bäst att bara ha en databas. Sen bör du även lägga din databas utanför roten, så att man inte kan helt sonika ladda ner den.

Precis. sökvägen stämmer inte, databasen ligger här:
'd:\clients\katt.nu\wwwroot\forum5\kattnytt\db\new s.mdb'
Själva news2.asp fungerar om den öppnas i webbläsare på sidan.

Var ska databasen ligga? I mappen script t.ex.?

Spinn 2005-10-27 13:12

Glömde skriva att jag bara har en databas i just den mappen.

DeSoto 2005-10-27 13:15

För att databasen inte ska kunna laddas ner bör den ligga i mappen katt.nu, eller en mapp i katt.nu som du döper till db.

Anger du sökvägen från roten? Det blir nog lättare om du klistrar in din databaskoppling i news2.asp här.

Spinn 2005-10-27 13:25

Kod från news.asp:

db = Server.MapPath("db/news.mdb") ' Databasens sökväg

Ska jag istället skriva 'd:\clients\katt.nu\wwwroot\forum5\kattnytt\db\new s.mdb' ?

Och i så fall hur ska jag då ändra dessa rader:

<%Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & db


Mitt förslag är:

<%Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open db


Eller är det helt åt skogen? :)

DeSoto 2005-10-27 14:43

De andra raderna behöver du inte ändra. Det ända du behöver ändra är sökvägen till databasen, som då ska vara 'd:\clients\katt.nu\wwwroot\forum5\kattnytt\db\new s.mdb', ifall du nu är säker på att databasen ligger där. Men som sagt, lägg inte databasen så att man kan ladda ner den.

Och en annan sak, skapa hellre en fil där du har sökvägen i. Sen inkluderar du den sidan där du behöver databaskoppling. På så sätt behöver du bara ändra sökvägen på ett ställe om det skulle behövas sen.

Spinn 2005-10-27 17:17

Tack för ditt tålamod!

När jag gör så, så får jag detta meddelande när jag försöker ladda news2.asp

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

Invalid Path

/forum5/kattnytt/news2.asp, line 5

The Path parameter for the MapPath method must be a virtual path. A physical path was used.


Jag har då endast ändrat till följande:

db = Server.MapPath("d:\clients\katt.nu\wwwroot\forum5\ kattnytt\db\news.mdb") ' Databasens sökväg

hnn 2005-10-27 20:09

Skippa Server.Mappath() ifall du använder en komplett sökväg.

Spinn 2005-10-27 21:04

YES! Det fungerar!!
Jag tackar för all hjälp jag fått! Helt suveränt!


Alla tider är GMT +2. Klockan är nu 19:22.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson