Avatar billede leif Seniormester
05. juni 2003 - 17:59 Der er 21 kommentarer og
2 løsninger

Fra PHP til ASP

Hej,

Jeg har denne kode i PHP:
<?
if(isset($page)){
  include("$page.php");
}else{
  include("forside.php");
}
?>

Hvordan vil det lyde i ASP ???

Fra
Leif
Avatar billede medions Nybegynder
05. juni 2003 - 18:04 #1
Hvad gør isset i PHP?

//>Rune
Avatar billede medions Nybegynder
05. juni 2003 - 18:06 #2
Men jeg ville tyde på noget der lignede det her:

If Request.QueryString("page") <> "" Then
  Server.Execute(Request.QueryString("page") & ".php")
Else
  Server.Execute("forside.php")
End If

//>Rune
Avatar billede kovalt Nybegynder
05. juni 2003 - 18:10 #3
eller den mere direkte oversatte :-)

<% if request.querystring("page") <> "" then %>
  <!--#include file="<% =request.querystring("page") %>.php"-->
<% else %>
  <!--#include file="forside.php"-->
<% end if %>
Avatar billede medions Nybegynder
05. juni 2003 - 18:24 #4
kovalt> Det kan man ikke det du prøver!

//>Rune
Avatar billede eagleeye Praktikant
05. juni 2003 - 19:34 #5
ASP kan ikke lave dynamisk includes som PHP kan ;(
Så man må bruge Server.Execute() functioen og er det en ældre udgave af ASP kan det være den ikke er understyttet, så må man ud i noget som:
http://www.asp101.com/articles/michael/dynamicincludes/default.asp
eller:
http://www.4guysfromrolla.com/webtech/042602-1.shtml
Avatar billede kovalt Nybegynder
05. juni 2003 - 19:36 #6
Hmmm OK - så blev jeg så klog :-)

Det er da i grunden lidt underligt er det ikke....
Avatar billede kovalt Nybegynder
05. juni 2003 - 19:40 #7
koster det ikke også hastighed at springe ud og ind af asp kode med <% og %>... i så fald vil det vel altid være mest hensigtmæssigt at anvende server.Execute eller?
Avatar billede eagleeye Praktikant
05. juni 2003 - 19:40 #8
Jo det er underligt de ikke har lavet det så det var muligt, men som der står i linket er det fordi include filerne findes før ASP fortolkeren køres.
Avatar billede eagleeye Praktikant
05. juni 2003 - 19:41 #9
Ja server.Execute ville være at fortrække. Den function er ikke på Personal Web Server (windows 98/me) men den er i IIS (2000/XP/NT)
Avatar billede leif Seniormester
05. juni 2003 - 19:52 #10
Hvad skal "Object doesn't support this property or method: 'Server.Execute'" betyde ???
Avatar billede eagleeye Praktikant
05. juni 2003 - 19:55 #11
Det betyder functionen execute ikke understyttes. Hvis du vil havde dynamisk includes så skal du ud i noget af det som er i de to links jeg har vist.
Avatar billede kovalt Nybegynder
05. juni 2003 - 20:20 #12
Hold kæft den der side 4guysfromrolla er lækker....

Det er jo ligesom at blive født på ny at læse deres ASP tips... jeg har lært mig det ASP jeg kan ved at lære det efterhånden som jeg har haft brug for det... ulempen ved dette er naturligvis at der kommer til at mangle overblik og struktur - hvilket denne side kan hjælpe med...

Meget lækker link der EagleEye
Avatar billede kovalt Nybegynder
05. juni 2003 - 20:20 #13
du har vel ikke mere af noget lignende på lager? :-)
Avatar billede kovalt Nybegynder
05. juni 2003 - 20:21 #14
har du eksempelvis en side der forklarer noget om ADO... jeg kan se der er flere forskellige måder at lave en DB-connection på.. noget omkring disse forskelle?
Avatar billede eagleeye Praktikant
05. juni 2003 - 20:26 #15
Ja 4guysfromrolla har nogle kanon gode artikler.
Der er http://www.devguru.com/ men det hjælp til functioner/properties/objecter.

Det bedste omkring ADO er nok MS. Når du skriver:
"jeg kan se der er flere forskellige måder at lave en DB-connection " er det så forskellige connection strings eller rs.Open vs. Set rs=conn.execute..
Avatar billede kovalt Nybegynder
05. juni 2003 - 20:38 #16
begge dele...

jeg plejer at gøre sådan her:

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" + Server.MapPath("DB"))
strSQL = "SELECT * from test"
set rs = conn.execute(strSQL)

men der er også nogen der skriver noget med ,Open (nu kan jeg selvfølgelig ikke lige finde et eksempel på det)
Avatar billede kovalt Nybegynder
05. juni 2003 - 22:41 #17
er det ovenfor det man kalder en DSN-Less connection?
Avatar billede medions Nybegynder
05. juni 2003 - 22:43 #18
Yepzer
Avatar billede kovalt Nybegynder
06. juni 2003 - 01:11 #19
Medions--> Kan du forklare mig forskellen på disse to typer:

Set rs = Server.CreateObject("ADODB.RecordSet")
strSQL = "SELECT * FROM tabel"
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" + Server.MapPath("DB")
rs.Open strSQL, strDSN, 1

(specielt sidste linie)

og så:

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" + Server.MapPath("DB"))
strSQL = "SELECT * from test"
set rs = conn.execute(strSQL)
Avatar billede leif Seniormester
06. juni 2003 - 08:39 #20
medions og kovalt -> Må man spørge hvad alle jeres kommentarer skal til i mit spm. ???
Avatar billede netro Nybegynder
06. juni 2003 - 10:13 #21
Hvis der er noget, du ikke fik svar på, så spørg da ;)
Avatar billede kovalt Nybegynder
06. juni 2003 - 10:55 #22
ja ærlig talt.... du kan da bare spørge hvis der er noget :-)
Avatar billede leif Seniormester
20. juni 2003 - 23:30 #23
Jeg lukker.
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