Avatar billede Beach Mester
04. februar 2002 - 12:06 Der er 13 kommentarer og
1 løsning

Request.Querystring videre fra Submit knap vil ikke.....

Jeg har en simpel (test) form på index.asp:
<form method="GET" action="side1.asp">
  Telefonnummer (Filename):
  <input name=tlf size="30" value="<%= Session("tlf") %>">
  <br>
    Navn:
  <input name=navn size="30" value="<%= Session("navn") %>">
  <br>
 
  <input type="submit" value="  Send " name="submit">
<input type="Reset" value="  Reset  " name="Reset">


</form>

På side1.asp opretter jeg så en fil med navnet (tlf).txt skriver lidt i filen mm, læser fra denne og skal så have et OK eller ej fra bruger om data er rigtig. Dertil har jeg (troede jeg) lavet følgende form:

<form method="GET" action="side2.asp">
  <input type="submit" name="Ja" value="Ja" & Request.Querystring("tlf") & Request.Querystring("navn")>
  <input type="submit" name="Nej" value="Nej" & Request.Querystring("tlf") & Request.Querystring("navn")>
</form>

Problemet er at den IKKE overføre den (de) Querystring data jeg allerede har men kun om det er ja eller nej:-(

Hvordan får jeg det problem fikset så jeg på side2.asp kan lave følgende stunt:

<%
Function readfile()
Dim fso, f, filespec
Set fso = CreateObject("Scripting.FileSystemObject")
filespec = Server.MapPath(Request.Querystring("tlf") & ".txt")
Set f = fso.OpenTextFile(filespec,1)
Do While not f.AtEndOfStream
  Response.write f.ReadLine & "<br>"
Loop
f.Close
End Function
%>
<%
readfile
%>

>>>>???

Systemet skal bruges til først at oprette en kunde med div. data mm.
Derefter en gennemlæsning om data er korekt og derefter en tur til butikken hvor kundedata skal med hele vejen igennem denne Querystring børge.

Håber ikke det er alt for uoverskuligt at finde den røde tråd i ovenstående. Er det, sender jeg gerne hele scriptét men for at spare pladsen så....*S*

//Beach
Avatar billede krisbjoern Nybegynder
04. februar 2002 - 12:22 #1
Du skal have dine PROPERTIES med i din JA eller NEJ Value:
Jeg retter KUN lige den ene...
  <input type="submit" name="Ja" value="Ja&tlf=" & Request.Querystring("tlf") &"&navn=" & Request.Querystring("navn")>
Nu går det sikkert galt da der ikke længere kun står JA el. NEJ i dit tekstfelt.
Du skal flytte dine queryStrings op i ACTION feltet.

Response.Write "<ACTION='side2.asp?tlf=" & Request.Querystring("tlf") & "&navn=" & Request.Querystring("navn") & "'>"

Du skal HELE tiden SELV sørge for at smide de queryStrings med ud i sætningen, som du vil have adgang til fra de andre sider... 

Venlig Hilsen
Kristian Bjørn
Avatar billede Beach Mester
04. februar 2002 - 12:23 #2
Prøver lige at lege lidt med det:-)

//Beach
Avatar billede krisbjoern Nybegynder
04. februar 2002 - 12:25 #3
En anden ting slår mig pludselig...
Er din form skrevet via ASP eller i ren HTML?
Du kan jo ikke hente en queryString i ren HTML...
Måske er det for enkelthedens skyld at det ser sådan ud, men
ville bare lige nævne det ;-)

Venlig Hilsen
Kristian Bjørn
Avatar billede Beach Mester
04. februar 2002 - 12:29 #4
Det hele ER skrevet i ASP så no problemo her:-)
Jeg skal bare lige lære hvordan jeg gentager hele min Querystring så den ikke går tabt under handlerne på sitet.
Jeg er stadig meget meget grøn i det her, men skal nok komme efter det hurtigt da det ikke er ASP som sådan der giver problemerne men mere syntaxén:-)

//Beach
Avatar billede Beach Mester
04. februar 2002 - 12:57 #5
Mit hotel var lige nede, derfor lidt lang responce tid!
Kan ikke lige helt få dit forslag til at køre. Har lavet følgende på side1.asp:
<form method="GET" action=ACTION='side2.asp?tlf=" & Request.Querystring("tlf") & "&navn=" & Request.Querystring("navn") & "'>"
  <input type="submit" name="Ja" value="Ja&tlf=" & Request.Querystring("tlf") &"&navn=" & Request.Querystring("navn")>
  <input type="submit" name="Nej" value="Nej&tlf=" & Request.Querystring("tlf") &"&navn=" & Request.Querystring("navn")>
</form>

Sikkert noget jeg har fået galt i halsen men..... hælp:-)

//Beach
Avatar billede Beach Mester
04. februar 2002 - 12:59 #6
Rettelse:
<form method="GET" action='side2.asp?tlf=" & Request.Querystring("tlf") & "&navn=" & Request.Querystring("navn") & "'>"
  <input type="submit" name="Ja" value="Ja&tlf=" & Request.Querystring("tlf") &"&navn=" & Request.Querystring("navn")>
  <input type="submit" name="Nej" value="Nej&tlf=" & Request.Querystring("tlf") &"&navn=" & Request.Querystring("navn")>
</form>

Men det virker stadig ikke:-(

//Beach
Avatar billede krisbjoern Nybegynder
04. februar 2002 - 13:24 #7
Jeg kan godt få det til at virke med nogle rettelser hist og pist:

Jeg har lavet en simpel index.asp side:
<%
Response.Write "<form method='GET' action='side1.asp'>"
Response.Write "Telefonnummer (Filename):"
Response.Write "<input name='tlf' size='30' value='" & Session("tlf") & "'>"
Response.Write "<br>"
Response.Write "Navn:"
Response.Write "<input name='navn' size='30' value='" & Session("navn") & "'>"
Response.Write "<br>"
 
Response.Write "<input type='submit' value='  Send '>"
Response.Write "<input type='Reset' value='  Reset  '>"


Response.Write "</form>"
%>
***************************
Næste side "side1.asp" ser sådan ud:
<%
Response.Write"<form method='GET' action='side2.asp?tlf=" & Request.Querystring("tlf") & "&navn=" & Request.Querystring("navn") & "'>"
Response.Write"<input type='submit' value='Ja'>"
Response.Write"<input type='button' value='Nej' OnClick='java script:history.go(-1)'>"
Response.Write"</form>"
%>
***********************************

Læg mærke til at navn og tlf følger med oppe i URL-linien.

Jeg har taget udgangspunkt i det du har skrevet her på siden
og jeg må indrømme at din Session("navn") på siden index.asp ikke helt
giver mening... men det er måske igen på grundet en grov simplicering af dit egentlige skript...

Jeg håber dette kaster lidt lys over landskabet

Venlig Hilsen
Kristian Bjørn
Avatar billede krisbjoern Nybegynder
04. februar 2002 - 13:30 #8
Du kan IKKE have 2 SUMBIT på samme side, derfor har jeg ændret den ene til en button der kalder et javascript(TILBAGE).

For at sende strengen med svidere fra side1 til side2, vil det være nødvendigt at bruge METHOD="post" og ikke GET...

Medmindre du selvfølgelig vælger at skrive dine queryStrings ud i formenen på side1.asp

Rettelse til side1.asp:
<%

varTlf = Request.queryString("tlf")
varNavn = request.queryString("navn")

Response.Write"<form method='POST' action='side2.asp?tlf=" & varTlf & "&navn=" & varNavn & "'>"
Response.Write"<input type='submit' value='Ja'>"
Response.Write"<input type='button' value='Nej' OnClick='java script:history.go(-1)'>"
Response.Write"</form>"
%>

Venligst
Kristian Bjørn
Avatar billede Beach Mester
04. februar 2002 - 13:42 #9
Bliver nød til at smutte på job nu:-(
Kigger på det i aften og takker ind til videre for hjælpen!

//Beach
Avatar billede Beach Mester
05. februar 2002 - 02:23 #10
Nu har jeg leget lidt med dit forslag, men kan skisme ikke rigtigt få det til at køre:-(
Problemet ligger måske lidt i den måde du bygger det hele op med hvor du konstant bruger Response.Write! Dette har jeg aldrig selv brugt og kan muligvis få nogle småting til at kokse da jeg prøver at "omskrive" dine tags til den måde jeg selv er i gang med at flaske mig op på (Worx ASP 3.0)

Da vi muligvis også misforstår hinanden en smugle har jeg valgt at gengive hele min kode så du så bedere kan se meningen i det hele.
Som det ser ud nu så køre alt som det skal til og med side1.asp og problemet ligger nu (kun) i at jeg vil fortsætte med at beholde kundens felefonnummer oppe i URL så jeg fra andre sider kan skrive direkte i kundens fil som er bygget op over telefonummer.txt

De sider som jeg har lavet er ikke noget der skal bruges i den form det ligger i nu, men for at bygge mit system op fra bunden af vil jeg ikke starte som alle andre amatørere med at offentliggøre et smart design mm. før jeg har det grundlæggende på plads. Så til dit spørgsmål om det er en grov simplicering kan jeg kun sige ja:-)

Jeg har for måske at gøre det lidt nemmere for dig også lagt de 3 filer i en zip her: http://www.freestyle.dk/asp4/asp4.zip

Håber ikke det er for meget forlangt af dig, og du får selv. også dine point forhøjet til 60 hvis det hjælper en smugle *S*

//Beach



********************
index.asp
********************
<html>
<head>
<title>ASP test hold txt åben!</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body bgcolor="#FFFFFF" text="#000000">
<form method="GET" action="side1.asp">
Telefonnummer:
<input name=tlf size="30" value="<%= Session("tlf") %>">
Navn:
<input name=navn size="30" value="<%= Session("navn") %>">
 
<input type="submit" value="  Send " name="submit">
<input type="Reset" value="  Reset  " name="Reset">
</form>
</body>
</html>


********************
side1.asp
********************
<html>
<head>
<title>ASP test Querystring</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<%
Function makefile()
  Dim fso, f
  Set fso = CreateObject("Scripting.FileSystemObject")
  set f = fso.OpenTextFile("d:\home\freestyledk\www\asp4\" & Request.Querystring("tlf") & ".txt", 8, True)
  f.WriteLine Request.Querystring("navn")
  f.Close
End Function

Function readfile()
Dim fso, f, filespec
Set fso = CreateObject("Scripting.FileSystemObject")
filespec = Server.MapPath(Request.Querystring("tlf") & ".txt")
Set f = fso.OpenTextFile(filespec,1)
Do While not f.AtEndOfStream
  Response.write f.ReadLine & "<br>"
Loop
f.Close
End Function
%>


<%
makefile
%>
<p>
Der er nu oprettet en fil med navnet *.txt og Querystring "navn" er skrevet i filen.</p>
<p>I filen er der skrevet følgende:
<%
readfile
%>
</p>

<p>Er ovenstående korekt? </p>
<%
varTlf = Request.queryString("tlf")
varNavn = request.queryString("navn")
%>
<form method="GET" action="side2.asp"?tlf=" & varTlf & "&navn=" & varNavn &">
<input type="submit" name="ja" value="ja">
<input type="button" value="Nej" onClick="java script:history.back();">
</form>


</body>
</html>



********************
side2.asp
********************

<html>
<head>
<title>ASP test Querystring</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body bgcolor="#FFFFFF" text="#000000">
<p>Dette er side 2.ASP!</p>
<p>Nu vil jeg s&aring; l&aelig;se den fil der er blevet oprettet f&oslash;r. For
  at kende filnavnet skal dette fremg&aring; af URL ved hj&aelig;lp af Querystring!</p>
<p>
  <%
Function readfile()
Dim fso, f, filespec
Set fso = CreateObject("Scripting.FileSystemObject")
filespec = Server.MapPath(Request.Querystring("tlf") & ".txt")
Set f = fso.OpenTextFile(filespec,1)
Do While not f.AtEndOfStream
  Response.write f.ReadLine & "<br>"
Loop
f.Close
End Function
%>
  <%
readfile
%>
  <br>
  Dette kan som det fremgår ikke lade sig g&oslash;re da tlf ikke kommer med over
  p&aring; denne side:-(<br>
  Jeg har brugt n&oslash;jagtig samme fremgangsm&aring;de nu, n&aring;r jeg vil
  l&aelig;se i filen som jeg bruger p&aring; side1.asp s&aring; fejlen ligger
  udelukkende i at tlf ikke bliver f&oslash;rt med over.</p>
</body>
</html>

>>>>>>end of files<<<<<<<
Avatar billede Beach Mester
05. februar 2002 - 02:27 #11
BTW så ligger filerne som de er, her (som du sikkert kan regne ud *S*):
http://www.freestyle.dk/asp4/

//Beach
Avatar billede krisbjoern Nybegynder
05. februar 2002 - 12:39 #12
Nå!
Jeg har kigget lidt på det og rettet nogle ting rundt omkring.
VIGTIGT!!!
På side1.asp har jeg i forbindelse med "Ja" / "Nej" knapperne skrevet formen ud via ASP med Response.Write(Ja det er også ASP 3.0)
Og svarer i og for sig til "<%=", men nu er jeg vant til at bruge Response-objectet... Dette gør jeg for at kunne SENDE URL'en med videre(Method=Post).

Det næmmeste ville vel være at sende dig en zip, magen til den jeg har hentet fra dig - Det hele virker nu...

Hvor skal jeg sende den hen?

Du kan evt. maile til mig på kbjoern@mail1.stofanet.dk

Venligst
Kristian Bjørn(er hjemme efter 18:00)
Avatar billede Beach Mester
05. februar 2002 - 12:58 #13
Mail sendt

//Beach
Avatar billede Beach Mester
08. februar 2002 - 01:23 #14
Det virker som det skal. Takker for hjælpen:)

//Beach
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