Just nu i M3-nätverket
Gå till innehåll

Göra om till ASP?


webbaccess.net

Rekommendera Poster

webbaccess.net

Hej!

 

Har ett script i PHP och undrar om det finns någon möjlighet att göra om det till ASP

 

[log]<?

include('engine/header.engine.php');

include('engine/body_top.engine.php');

$page = $_GET['id'];

if(isset($page) && $page != '')

{

if(file_exists($page.'.php'))

{

include($page.'.php');

}

else

{

include('data/error404.data.php');

}

}

else

{

include('sida/hem.php');

}

 

include('engine/body_bottom.engine.php');

 

include('engine/footer.engine.php');

 

 

?>[/log]

 

scriptet importerar sidor från en annan mapp

 

Länk till kommentar
Dela på andra webbplatser

Visst går det, men då måste ju även de inkluderade sidornas kod översättas till ASP. Du kan inte blanda dessa två scriptspråk på en sida (åtminstone har inte jag sett någon parser till IIS som fixar detta).

 

Länk till kommentar
Dela på andra webbplatser

webbaccess.net

jo det vet jag men det är bara text i resten av sidorna, så det är ingen svårighet att översätta dem

 

 

för att komma åt en sida skriver man http://domänen.se/?id=sida/om

och då är sökvägen dit sida/om.php

[inlägget ändrat 2006-12-15 15:45:16 av webbaccess.net]

Länk till kommentar
Dela på andra webbplatser

Borde funka:[log]

<!--#include file=[GRÅ]"engine/header.engine.asp"[/GRÅ]-->
<!--#include file=[GRÅ]"engine/body_top.engine.asp'"[/GRÅ]-->
[MÄRK]<%[/MÄRK]
strPage=[color="#0000ff"]Trim[/color]([b]Request[/b]([GRÅ]"ID"[/GRÅ]))
[color="#0000ff"]If[/color] strPage<>[GRÅ]""[/GRÅ] [color="#0000ff"]Then[/color]
   strPage=[b]Server[/b].mapPath(strPage&[GRÅ]".asp"[/GRÅ])
[color="#0000ff"]Else[/color]
   strPage=[b]Server[/b].mapPath([GRÅ]"sida/hem.asp"[/GRÅ])
[color="#0000ff"]End[/color] [color="#0000ff"]If[/color]

[color="#0000ff"]Set[/color] objFSO = [color="#0000ff"]CreateObject[/color]([GRÅ]"Scripting.FileSystemObject"[/GRÅ])
[color="#0000ff"]If[/color] [color="#0000ff"]Not[/color] objFSO.FileExists(strPage) [color="#0000ff"]Then[/color]
   strPage=[b]Server[/b].mapPath([GRÅ]"sida/hem.asp"[/GRÅ])   
[color="#0000ff"]End[/color] [color="#0000ff"]If[/color]

[color="#0000ff"]Set[/color] TextStream = objFSO.OpenTextFile(strPage, 1, [color="#0000ff"]False[/color], -2)
strResponseText = TextStream.ReadAll
TextStream.Close
[color="#0000ff"]Set[/color] TextStream = [color="#0000ff"]Nothing[/color]

[color="#0000ff"]Set[/color] objFSO=[color="#0000ff"]Nothing[/color]

[b]Response[/b].Write(strResponseText)
[MÄRK]%>[/MÄRK]
<!--#include file=[GRÅ]"engine/body_bottom.engine.asp"[/GRÅ]-->
<!--#include file=[GRÅ]"engine/footer.engine.asp'"[/GRÅ]-->

[/log]

Observera dock att jag utgår från att alla filer gjorts om till asp.

 

Vill du bygga ut det mer (och slippa ?id= för snyggare URL:er) så kan du kolla på: //eforum.idg.se/viewmsg.asp?EntriesId=714116#714236

Utgå från den lösningen och anpassa page.asp att använda FSO likt koden ovan så borde det funka bra.

 

/Cluster

------------------------------------------------------------

Ditt vetande är värdelöst om inte andra vet att du vet

-----------> http://eforum.kicks-ass.net <------------

 

[inlägget ändrat 2006-12-15 23:26:54 av Cluster]

Länk till kommentar
Dela på andra webbplatser

webbaccess.net

konceptet var faktiskt så som jag ville ha det:)

självklart poäng!

allafall på länken, ska se om det andra är likanant:P

[inlägget ändrat 2006-12-16 01:46:39 av webbaccess.net]

Länk till kommentar
Dela på andra webbplatser

Vilka filer som vilken gör vad med?

 

Du får nog utveckla frågan lite mer för att få ett bra svar :)

 

/Cluster

------------------------------------------------------------

Ditt vetande är värdelöst om inte andra vet att du vet

-----------> http://eforum.kicks-ass.net <------------

 

Länk till kommentar
Dela på andra webbplatser

webbaccess.net

missade det;)

 

[log]<!--#include file="engine/header.engine.asp"-->

<!--#include file="engine/body_top.engine.asp'"-->

<%

strPage=Trim(Request("ID"))

If strPage<>"" Then

strPage=Server.mapPath(strPage&".asp")

Else

strPage=Server.mapPath("sida/hem.asp")

End If

 

Set objFSO = CreateObject("Scripting.FileSystemObject")

If Not objFSO.FileExists(strPage) Then

strPage=Server.mapPath("sida/hem.asp")

End If

 

Set TextStream = objFSO.OpenTextFile(strPage, 1, False, -2)

strResponseText = TextStream.ReadAll

TextStream.Close

Set TextStream = Nothing

 

Set objFSO=Nothing

 

Response.Write(strResponseText)

%>

<!--#include file="engine/body_bottom.engine.asp"-->

<!--#include file="engine/footer.engine.asp'"-->[/log]

 

denna koden här

 

Länk till kommentar
Dela på andra webbplatser

Förstår fortfande inte riktigt vad det är du vill veta...

Vilka de inkluderade sidorna bör ju vara tydligt, och Request("ID") används för att ange en godtycklig fil som ligger i undermappen sida så länge filen i fråga har filändelsen .asp

 

Detta gör att så länge som filerna döpts om till .asp (och inte är beroende av php-kod) så skall den angivna koden fungera på samma sätt som den php-kod du ville ha översatt.

 

/Cluster

------------------------------------------------------------

Ditt vetande är värdelöst om inte andra vet att du vet

-----------> http://eforum.kicks-ass.net <------------

 

Länk till kommentar
Dela på andra webbplatser

webbaccess.net

okej, ska försöka göra det tydligare

 

i PHP scriptet så skrev jag index.php?id=sida/hem och filen ligger i /sida/hem.php

 

så undrar jag hur ska länken se ut i ASP scriptet?

ska det se ut såhär?: default.asp?id=sida/hem för att öppna /sida/hem.asp?

 

Länk till kommentar
Dela på andra webbplatser

webbaccess.net

Har en fråga till ang. detta scriptet,

 

har en sida som ska hämta från en databas, men den skriver ut koden istället för innehållet ur databasen, om jag skriver ?id=sida/uppdaterat men skriver jag www.domänen.se/sida/uppdaterat.asp så fungerar det

är det något som är lätt att lösa?

 

Edit:

Stavfel

[inlägget ändrat 2006-12-18 22:44:41 av webbaccess.net]

Länk till kommentar
Dela på andra webbplatser

Jaha då får du använda dig av server.Execute() istället.

[log]

<!--#include file=[GRÅ]"engine/header.engine.asp"[/GRÅ]-->
<!--#include file=[GRÅ]"engine/body_top.engine.asp"[/GRÅ]-->
[MÄRK]<%[/MÄRK]
strPage=[color="#0000ff"]Trim[/color]([b]Request[/b]([GRÅ]"ID"[/GRÅ]))
strNotFound=[GRÅ]"sida/hem.asp"[/GRÅ]

[color="#0000ff"]If[/color] strPage<>[GRÅ]""[/GRÅ] [color="#0000ff"]Then[/color]
   strPage = strPage&[GRÅ]".asp"[/GRÅ]
   [color="#0000ff"]Set[/color] objFSO = [color="#0000ff"]CreateObject[/color]([GRÅ]"Scripting.FileSystemObject"[/GRÅ])
   [color="#0000ff"]If[/color] objFSO.FileExists([b]Server[/b].mapPath(strPage)) [color="#0000ff"]Then[/color]
      strExecutePage = strPage
   [color="#0000ff"]Else[/color]
      strExecutePage = strNotFound
   [color="#0000ff"]End[/color] [color="#0000ff"]If[/color]
   [color="#0000ff"]Set[/color] objFSO = [color="#0000ff"]Nothing[/color]
[color="#0000ff"]Else[/color]
   strExecutePage = strNotFound
[color="#0000ff"]End[/color] [color="#0000ff"]If[/color]

[b]Server[/b].[color="#0000ff"]Execute[/color](strExecutePage)
[MÄRK]%>[/MÄRK]
<!--#include file=[GRÅ]"engine/body_bottom.engine.asp"[/GRÅ]-->
<!--#include file=[GRÅ]"engine/footer.engine.asp"[/GRÅ]-->

[/log]

 

/Cluster

------------------------------------------------------------

Ditt vetande är värdelöst om inte andra vet att du vet

-----------> http://eforum.kicks-ass.net <------------

 

[inlägget ändrat 2006-12-18 23:22:16 av Cluster]

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...