Avatar billede logiq Nybegynder
02. august 2004 - 16:30 Der er 9 kommentarer

Hjælp til mere dynamisk hjemmeside

Jeg er ved at opbygge en webshop udfra nogle kodestumper og en eksisterende database.

Jeg har fået stumperne til at virke, men min ret begrænsede programmeringsviden fører mig ud i langstrakt arbejde med alt for mange filer.

Se siden på http://212.130.41.55

I venstre side er jeg ved at opbygge navigationen. Denne eksisterede ikke i koden, så jeg har lavet min egen, ikke dynamiske, men det kan jeg nok overleve, da kategorierne kun sjældent ændrer sig.

Produktvisiningen foregår med at man i en file laver et udvalg af produkterne der så passer til kategorierne. Jeg har til formålet oprettet 291 filer. Det kan jeg også leve med da disse også kun skal ændres når kategorierne ændre.

Nu kommer jeg så til humlen. Funktionerne tilføj og fjern produkt, er begge links til hver deres .ASP-fil. Denne fil redirekter tilbage til den oprindelige giler, som jo er én af de 291 filer jeg har oprettet.

Med min vide er den eneste løsning at lave 291 tilføj-file og 291 fjern-filer.

Det kan gøres smartere, så jeg beder Jeg om hjælp til at opnå dette.

En tilføj fil ser sådan ud:
---------------------------

<!-- METADATA TYPE="typelib" FILE = "f:\Program Files\Common files\system\ado\msado15.dll" -->

<%
dim MySql, Conn

Set Conn = CreateObject("ADODB.Connection")
conn.Connectionstring = Session.Contents("eshop")
conn.open
MySql = "exec wf_web_shop_AddBasketItem " & session("CompID") & ",'" & Session.SessionID & "','" & Request("ItemID") & "',1,null,null,1"
conn.execute (MySql)
response.redirect "shop_items_all.asp"
%>


En fjern fil ser sådan ud:
--------------------------

<!-- METADATA TYPE="typelib" FILE = "f:\Program Files\Common files\system\ado\msado15.dll" -->

<%
Dim MySql, Conn

Set Conn = CreateObject("ADODB.Connection")
conn.Connectionstring = Session.Contents("eshop")
conn.open
MySql = "exec wf_web_shop_AddBasketItem " & Session("CompID") & ",'" & Session.SessionID & "','" & Request("ItemID") & "',-1,null,null,1"
conn.execute (MySql)
response.redirect "shop_items_all.asp"
%>

Selve produktvisningssiden er rimelig lang, så den vil unlade at poste herinde, medmindre det er nødvendigt.
Avatar billede jss Nybegynder
03. august 2004 - 09:54 #1
Prøv at kigge lidt på ASP-tutorial på HTML.dk, måske især lektion 19 (http://html.dk/tutorials/asp/lektion19.asp)

Hele dit site burde - som du også selv er inde på - kunne laves meget mere simpelt.
Avatar billede logiq Nybegynder
03. august 2004 - 14:31 #2
Mit tilfælde er lidt som "Eksempel 3"

Liste.asp genererer links, som linker til person.asp. I person.asp er der så en retur-URL som er liste.asp.

Kan denne retur-URL genereres dynamisk udfra at det er liste.asp der bliver linket fra?

Jeg har jo 291 filer, som henviser til min fjern.asp og tilføj.asp, og retur-URL skal være afhængig af hvilken af de 291 filer der bliver klikket fra.
Avatar billede jss Nybegynder
03. august 2004 - 15:01 #3
Du skal have fat i de såkaldte Servervariables og her skal du bruge SCRIPT_NAME, som returnerer stien på den aktuelle fil.

Det bruges sådan, hvis du skal lave et link, der sender en querystring med tilbage:
<a href='et_eller_andet.asp?filnavn="& server.urlencode(request.servervariables("SCRIPT_NAME")) &"'>skriv et eller andet her</a>

Prøv om du kan bruge det til noget
Avatar billede jss Nybegynder
03. august 2004 - 15:10 #4
Hvis du vil have pillet filnavnet ud af stien, så kan du bruge flg. funktion, som du kan inkludere i dine asp-sider.

'Funktion der extraherer filnavnet.
Function extract_filename(filename)
    extract_filename = Right(filename, Len(filename) - InStrRev(filename, "\", -1, 1))
End Function

link til querystring:
<a href='et_eller_andet.asp?filnavn="& server.urlencode(extract_filename(request.servervariables("SCRIPT_NAME"))) &"'>skriv et eller andet her</a>
Avatar billede jss Nybegynder
04. august 2004 - 08:57 #5
Hvordan går det ? Kan du bruge mine forslag til noget eller er det helt ved siden af ?
Avatar billede logiq Nybegynder
04. august 2004 - 09:16 #6
Hej jss,

Jeg beklager, men jeg har ikke lige haft tid til at kigge på det...

Forhåbenlig når jeg det i løbet af dagen i dag!

Som jeg forstår dit indlæg, så hiver funktionen filnavnet ud af URL'en, og sender det med i linket.

Hvordan fanger man så det sendte filnavn i den fil der linkes til?
Avatar billede jss Nybegynder
04. august 2004 - 09:31 #7
Yes - funktionen hiver filnavnet ud af URL'en, og sender det med i linket. På den side der linkes til, bruger man Request-objektet til at opfange det sendte filnavn.

Helt konkret ifht. tidligere eksempel, så skriver man: Request.QueryString("filnavn")

Der er knyttet en række funktioner til Request-objektet, se evt. http://html.dk/tutorials/asp/lektion10.asp
Avatar billede logiq Nybegynder
04. august 2004 - 09:39 #8
det er jo nogle ret fede tutorials de har på den side, det kunne være man skulle læse den om ASP lidt igennem.

Jeg roder lidt med det senere, så vender jeg tilbage om jeg kan hitte ud af eller ikke.
Avatar billede jss Nybegynder
04. august 2004 - 09:48 #9
OK :-)
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