Avatar billede arabica Nybegynder
06. september 2004 - 14:19 Der er 28 kommentarer

Link med ID til database

Hej

Håber, at spørgsmålet er korrekt placeret.

Jeg vil gerne lave et link, som skal kunne sendes i en mail og som skal indeholde et ID, som formularen der linkes til, skal kunne opfange. Kan dettte lade sig gøre?
Avatar billede fennec Nybegynder
06. september 2004 - 14:24 #1
http://www.Ditsite.dk/enSide.asp?id=123

ASP kode
<%
response.write request.querystring("id")
%>
Avatar billede eagleeye Praktikant
06. september 2004 - 14:25 #2
Du kan sende det med såan her:

<a href="http://www.domæne.dk/side.asp?id=1334">TRYK HER</a>


På siden side.asp henter du id med

ID = Request.Querystring("id")

Det kan du så putte ind i din formular på en eller anden måde:

<form action"side.asp?id=<%%=id%>"

eller
<input type="hidden" name=id" value="<%=id%>">
Avatar billede superraider Nybegynder
06. september 2004 - 14:30 #3
mange ponit for det spørgsmål. men det er vist svaret , så jeg gider da ikke gentage de kloge ord, men vil da lige opfordre jer til at se på spørgsmål "find system og lav lykker"
Avatar billede arabica Nybegynder
06. september 2004 - 15:31 #4
Tak.
Jeg vil lige prøve, om jeg kan få det til at virke.
Vender tilbage...
Avatar billede arabica Nybegynder
06. september 2004 - 15:48 #5
Jeg kan vist ikke lige få fat i ID´et på siden?
Er der et specielt sted "ID = Request.Querystring("id")" skal placeres?
Avatar billede eagleeye Praktikant
06. september 2004 - 15:59 #6
Nej det kan du gøre hvor det nødvendigt bare det står inden for ASP kode <% og %>
og selvfølgelig før du bruger variablen ID :)

<%
ID = Request.Querystring("id")
%>
Avatar billede arabica Nybegynder
06. september 2004 - 16:38 #7
Hmmm.
Siden får en "HTTP-500 serverfejl"
Avatar billede eagleeye Praktikant
06. september 2004 - 16:39 #8
Du skulle gerne få en bedre fejl kode/beskrivelse ved at slå denne fra i IE:

funktioner -> internetindstillinger -> avanceret -> fjern kryds i "vis meddelelse om uskadelige http-fejl"
Avatar billede arabica Nybegynder
06. september 2004 - 16:49 #9
Ahhh - Der manglede vist en " i din linie, før id?
(Burde jeg selvfølgelig have fanget før...)
Prøver lige igen med denne...
Avatar billede eagleeye Praktikant
06. september 2004 - 16:50 #10
hmm ja det har du ret i  :)  Det havde jeg ikke set.
Avatar billede arabica Nybegynder
06. september 2004 - 17:40 #11
Det virker! Herligt, tak.

Hvis jeg lige må stille et lille tillægs-spørgsmål?
Hvordan tager jeg så denne ID med fra en formular til den næste?

(Jeg er væk fra PC resten af aftenen, men vender tilbage imorgen)
Avatar billede eagleeye Praktikant
06. september 2004 - 17:54 #12
Når du sender formularen til næste siden kan du hente ID i samme stil.
Har du lavet det som et hidden felt og med method="post" i form tagen kan du bruge:

id = Request.Form("id") ' "id" navnet på input feltet

Har du lagt id som en del af action: action="side.apss?id=33" er det på samme mode som du henter det nu:
id = Request.Querystring("id")
Avatar billede arabica Nybegynder
07. september 2004 - 09:36 #13
Hej igen

Jeg har nu prøvet at sætte dette ind i den næste formular:
<%
id = Request.Form("id")
%>

samt <input type="hidden" name=id" value="<%=id%>">

Men nu får jeg hverken id eller andre variable skrevet
til databasen for denne anden formular?

(Begge forms er lavet med Frontpage og heri bruges method=POST)
Avatar billede eagleeye Praktikant
07. september 2004 - 17:08 #14
I det hidden felt manger dre et "

<input type="hidden" name="id" value="<%=id%>">
Avatar billede arabica Nybegynder
08. september 2004 - 10:58 #15
Åh ja, beklager - det var fordi jeg lige kopierede din linie fra tidligere ;-)
Det er med på siden, som desværre ikke virker?
Avatar billede eagleeye Praktikant
08. september 2004 - 19:45 #16
Så må du vise noget kode, det lidt svært at gætte hvorfor det går tabt.
Hvordan ser din form ud?
Og hvordan henter du det hvor det ikke virker?
Avatar billede arabica Nybegynder
09. september 2004 - 09:23 #17
Siden er her:
http://www.mediabors.dk/questionnaire/side1.asp

Som det fremgår er det en del af flere sider med Frontpage forms,
som altså gerne alle skulle kunne skrive samme id i databasen.
Avatar billede eagleeye Praktikant
09. september 2004 - 16:47 #18
Som linket er der er der ikke et ID.

Du kan lave koden sådan her som henter ID'et, så den både tjekker som querystring og form:

id = Request.QueryString("id")
if id="" then id = Request.Form("id")
Avatar billede eagleeye Praktikant
09. september 2004 - 16:52 #19
men det kræver jo et id fra linket i første omgang før det kommer med:
http://www.mediabors.dk/questionnaire/side1.asp?id=23433
Avatar billede arabica Nybegynder
10. september 2004 - 11:31 #20
OK, nu har jeg sat den nye kode ind på siden.

Men hvordan linkes der videre med ID til næste formularside?
Det er jo sådan ID´et skal medtages fra side til side.
Kan man lave noget a la "side1.asp?id="id" ?
Avatar billede eagleeye Praktikant
10. september 2004 - 17:30 #21
Som det er lavet lige nu er ID i et hidden felt og med dette linke:
http://www.mediabors.dk/questionnaire/side1.asp?id=23433

Ser hidden feltet sådan her ud:
<input type="hidden" name="id" value="23433">


Når man så går vidre til næste side har du igen koden som vist 09/09-2004 16:47:31 så den henter ID'et, men så skal det jo også ligge på side2.asp som den nsæte side hedder. http://www.mediabors.dk/questionnaire/side2.asp


Hvis du istedet for hidden feltet vil havde ID overført via linket kan du skrive sådan her i form tagen:

<form method="POST" action="side1.asp?id=<%=id%>" webbot-action="--WEBBOT-SELF--">

men det kræver stadigvæk det kode vist 09/09-2004 16:47:31 til at hente ID'et. Og igen det skal ind på alle siderne hvor ID'et skal føre vidre.
Avatar billede arabica Nybegynder
13. september 2004 - 14:20 #22
Hmmm. OK, så er koden fra 09/09-2004 16:47:31 sat ind på alle siderne.
Men hver gang jeg udskifter form tagen, skifter den sig selv tilbage igen?
Jeg går ud fra, at det er Frontpage, der gør det?

Jeg har desværre ikke mulighed for at benytte ftp, så hvordan udskifter jeg form
tagen uden at Frontpage skifter den tilbage igen?
Avatar billede eagleeye Praktikant
13. september 2004 - 17:04 #23
Jeg kender ikke så meget til frontpage, kan du ikke angive en Action til form tagen i frontpage?
Så kan du skrive dette som action:  side1.asp?id=<%=id%>

Ellers må du tilbage til at lave det som et hidden felt det kunne da komme på formen.
Avatar billede arabica Nybegynder
15. september 2004 - 11:13 #24
OK, nu har jeg indsat disse koder kode på alle siderne:

<%
id = Request.QueryString("id")
if id="" then id = Request.Form("id")
%>

samt
<input type="hidden" name="id" value="<%=id%>">

Så nu får jeg fint et ID ned i databasen, men slet ingen andre data,
fra nogle af de andre sider/forms overhovedet?
Avatar billede eagleeye Praktikant
15. september 2004 - 17:17 #25
Dem skal du også gemme hvis du vil gøre dem vidre fra side til side, dem må du også gemme i hidden felter, men hvorfor ikke havde det hele på en side?
Avatar billede eagleeye Praktikant
15. september 2004 - 17:17 #26
eller gemme dem i databasen fra side til side.
Avatar billede arabica Nybegynder
16. september 2004 - 09:07 #27
De er splittet op på flere sider, for at man ikke skal scrolle meget langt, da
det tilsammen ville give en meget lang side. Så det er et forsøg på brugervenlighed.

Men inden jeg satte de nye koder på blev data gemt fint i databasen?
Koden til at gemme alle andre data er jo genereret af Frontpage og ligger
i toppen af sidens kode?
Data skulle således gerne gemmes fra side til side, da hver side jo er en
separat formular.
Avatar billede eagleeye Praktikant
16. september 2004 - 22:26 #28
Jeg ved ikke hvordan du har lavet din database, men hvis en svare skal blive til en post skal du havde en UPDATE fra side til side, en INSERT vil give en ny post pr side.

Det jeg har vist gør ikke den ikke vil gemme i databasen. Der er bare tilføjet et nyt form felt.
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