webForumDet fria alternativet
Logga in / Bli medlem

querystrings

ASP

9 svar · 248 visningar · startad av WebbisNet

Medlem sedan feb. 20032 027 inlägg
Trådstart#1

jag har a href="/Gastbok/default.asp?do=write" i en länk på defaultsidan som ska visa sidan med formuläret. Hur får jag do=write att visa sidan med formuläret med den här länken

På defaultsidan ligger även koden för att spara infon i databasen
Eftersom tabellen i MySQL heter gastbok, måste jag ha gastbok=write för att spara då?

Medlem sedan mars 20023 561 inlägg
#2

Till exempel:

If Request.QueryString("do") = "write" Then
     'Visa formuläret
ElseIf Request.QueryString("do") = "save" Then
     'Spara informationen till databasen.
End If
Medlem sedan feb. 20032 027 inlägg
#3

Josef skrev:

Till exempel:

If Request.QueryString("do") = "write" Then
     'Visa formuläret
ElseIf Request.QueryString("do") = "save" Then
     'Spara informationen till databasen.
End If

På defaultsidan har jag en includesida som innehåller två länkar <a href="/Gastbok/default.asp?do=read">Läs gästboken</a> och <a href="/Gastbok/default.asp?do=write">Skriv i gästboken</a>

När man klickar på <a href="/Gastbok/default.asp?do=write"> så ska formuläret visas. I formuläret har jag skicka och avbryt....när man klickar på skicka så ska den peka mot spara-koden på defaultsidan och om man klickar på avbryt så ska man komma till defaultsidan

Hur får man då do=write att peka mot formuläret och do=read att peka mot sidan där inläggen ligger

När jag har

<%	
	If Request.Querystring("do") = "write" Then
	    Response.Redirect "write.asp"

	ElseIf Request.Querystring("do") = "read" Then
	    Response.Redirect "read.asp"
	End If

%>

så händer ingenting, sidan bara laddas om......hur får jag do att bli do=write och skicka vidare till write.asp?

Medlem sedan mars 20023 561 inlägg
#4

Om jag var du skulle jag lägga allting på samma sida i ett if-block istället.
Då kan du använda den kodsnutt jag postade innan.

Medlem sedan feb. 20032 027 inlägg
#5

Josef skrev:

Om jag var du skulle jag lägga allting på samma sida i ett if-block istället.
Då kan du använda den kodsnutt jag postade innan.

Men då måste jag väl lägga allt efter </html> och det går väl inte att lägga allt där?

Medlem sedan mars 20015 287 inlägg
#6

Du kan lägga koden precis var du vill. Jag anser nog också att det är smidigare att lägga allt i en fil.
Annars:
<%
If Request.Querystring("do") = "write" Then
Response.Redirect "write.asp?do=write"

ElseIf Request.Querystring("do") = "read" Then
    Response.Redirect "read.asp"
End If

%>

Medlem sedan feb. 20032 027 inlägg
#7

solbulle skrev:

Du kan lägga koden precis var du vill. Jag anser nog också att det är smidigare att lägga allt i en fil.
Annars:
<%
If Request.Querystring("do") = "write" Then
Response.Redirect "write.asp?do=write"

ElseIf Request.Querystring("do") = "read" Then
Response.Redirect "read.asp"
End If

%>

Men när man lägger allt i en fil, hur får man all kod att inte köras förrän man klickar på länken?

Medlem sedan mars 20023 561 inlägg
#8

Genom att använda querystrings och ifsatser, som har beskrivits ganska många gånger innan i den här tråden.

Medlem sedan feb. 20032 027 inlägg
#9

Josef skrev:

Genom att använda querystrings och ifsatser, som har beskrivits ganska många gånger innan i den här tråden.

Jag skrev fel innan, sorry......jag menar att när man klickar på en länk så kommer den upp.....men om det ska funka med att ha allt på en sida så verkar dwet som om precis varje rad måste vara inom response.write("")

Medlem sedan mars 20015 287 inlägg
#10

Nej, det behöver det inte vara.

<%
If Request.QueryString("do") = "write" Then
     'Visa formuläret
'med aspkod eller
%>
Om du avslutar taggarna kan du lattja med html bäst du vill
<%
' "sätt på" aspkod igen.
ElseIf Request.QueryString("do") = "save" Then
     'Spara informationen till databasen.
End If
%>
259 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)