Avatar billede mccannon Nybegynder
09. marts 2002 - 15:37 Der er 12 kommentarer og
2 løsninger

Querystring, indholdet bliver væk

Hejsa
har et lillë problem. altså jeg er ved at lave sådan en gæstebogs ting. Har lavet en form hvorfra jeg poster til en side hvor den lige validere på om der er tomme felter, hvis der er sendes brugeren tilbage til form sidem...det virker ogtså fint, men men den får ikke de info som variablerne indeholder med tilbage til formen i tilfælde af at der kun er udfyldt 2 af 3 felter...please help..

KODE.....:

submit Formen:
<form action="indhold.asp" method="post">
    <table>
      <tr>
        <td>
        Navn.:
        </td>
      </tr>
     
      <tr>
        <td>
        <input type="text" name="navn" value="<%=Navn %>" />
        </td>
      </tr>
     
      <tr> 
        <td>
        Email.:
        </td>
      </tr>
     
      <tr>
        <td>
        <input type="text" name="email" value="<%=Email %>" />
        </td>
      </tr>
               
      <tr> 
        <td>
        Skriv en hilsen til mig.:
        </td>
      </tr>
     
      <tr> 
        <td>
        <textarea name="hilsen" rows="5" cols="40" Value="<%=Hilsen%>"></textarea>
        <td>
      </tr>
     
      <tr> 
        <td>
        <input type="submit" value="Send Hilsen" />
        <td>
       
        <td>
        <Input type="reset" value="Clear" />
      </tr>
     
      <tr> 
        <td><% for x = 1 to len(taller)
              response.write "<img src=pics/" & cstr(mid(taller,x,1)) &".gif border=0 width=15 height=25>"
              next
            %>
        </td>
      </tr>
     
    </table>
   
   
</form>

Validering:
if request.form <> "" then
Navn = request.form("navn")
Email = request.form("email")
Hilsen = request.form("hilsen")
   
    If Hilsen = "" AND Email = "" AND Navn = "" then
    Response.redirect "guestform.asp?fejl=1"
   
    elseif Navn = "" then
    Response.redirect "guestform.asp?fejl=2&email=" & Email & "&hilsen=" & Hilsen
   
    ElseIf Email = "" then
    Response.redirect "guestform.asp?fejl=3&navn=" & Navn & "&hilsen=" & Hilsen
    end if

end if


Querystring:

Fejlbesked = request.querystring("fejl")
Navn = request("navn" & "hilsen")
Email = request("email" & "hilsen")
Hilsen = request("navn" & "email")

Select Case Fejlbesked

Case 1
Response.write "husk at udfylde alle siderne"

case 2
response.write "husk at udfylde navn"

Case 3
response.write "husk at udfylde email"

Case 4
response.write "husk at skrive en hilsen"
end select

----slutkode----

håber i kan hjælpe

Avatar billede coltau Juniormester
09. marts 2002 - 15:45 #1
I stedet for
  Response.redirect "guestform.asp?fejl=1"
kan du anvende denne kode:

<%
Response.Write "<script language='javascript'>"
Response.Write "history.go(-1)"
Response.Write "</script>"
%>
Som får siden til at gå en tilbage, hvorved felterne stadigvæk er udfyldt.
Avatar billede mccannon Nybegynder
09. marts 2002 - 15:47 #2
skal være asp og ikke javascript :-(
Avatar billede coltau Juniormester
09. marts 2002 - 15:50 #3
Hensigten er vel den samme. ´Med nedenstående kode kan du endda lave en fejlmeddelelse inden den returnere.

<%
Response.Write "<script language='javascript'>"
Response.Write "alert(""Der mangler et navn"");"
Response.Write "history.go(-1)"
Response.Write "</script>"
%>
Avatar billede mccannon Nybegynder
09. marts 2002 - 15:51 #4
skal laves i asp..er ved at lære det, og det er en opgave :)
Avatar billede mccannon Nybegynder
09. marts 2002 - 15:52 #5
Læren ville flippe totalt ud hvis han så det der ;-)
Avatar billede coltau Juniormester
09. marts 2002 - 15:55 #6
Hvis jeg ser nærmere på koden der det ud til at du næsten har lavet det - men det virker bare ikke. Er det korrekt. ?
Avatar billede mccannon Nybegynder
09. marts 2002 - 15:58 #7
yep, har lavet koden og alt det, den vil bare ikke gemme indholdet i de variabler så brugeren slipper for at indtaste de samme oplysninger igen, hvis han har lgemt et felt
Avatar billede coltau Juniormester
09. marts 2002 - 16:02 #8
Hvad med disse linier. ?

Querystring:

Fejlbesked = request.querystring("fejl")
Navn = request("navn" & "hilsen") ' Kan man ikke
Email = request("email" & "hilsen") ' Kan man ikke
Hilsen = request("navn" & "email") ' Kan man ikke

Select Case Fejlbesked
---------------------------
Linierne skal måske se således ud:

Navn = request.form("navn")
Email = request.form("email")
Hilsen = request.form("hilsen")

og så skal du vel sikre at du også får dem med i URL'en

If Hilsen = "" OR Email = "" OR Navn = "" then ' Skal måske være OR i stedet for AND hvis alle skal være udfyldt. ?
    Response.redirect "guestform.asp?fejl=1&email=" & Email & "&hilsen=" & Hilsen & "&navn=" & Navn
   
    elseif Navn = "" then
    Response.redirect "guestform.asp?fejl=2&email=" & Email & "&hilsen=" & Hilsen & "&navn=" & Navn
   
    ElseIf Email = "" then
    Response.redirect "guestform.asp?fejl=3&email=" & Email & "&hilsen=" & Hilsen & "&navn=" & Navn
    end if

------------
Det gør ikke noget at du sender alle felter med i URL'en uanset hvilken der fejler.
Avatar billede fet321 Nybegynder
09. marts 2002 - 16:04 #9
Det er fordi du på selve form siden ikke får hentet de eventuelt udfyldte værdier ned fra QueryStringen

Du skal enten gøre sådan
<input type="text" name="navn" value="<%=Request.QueryString("Navn") %>" />

Navn = Request.QueryString("Navn")
<input type="text" name="navn" value=<%=Navn%>" />

Når du response.redirecter "glemmer" koden jo hvad der ligger i variablen Navn. Du skal derfor hente den igen fra QueryString
Avatar billede mccannon Nybegynder
09. marts 2002 - 16:05 #10
roder lige lidt med det
Avatar billede mccannon Nybegynder
09. marts 2002 - 16:12 #11
fet321, hvis du kigger på koden kan du se at indholdet fra querystringen bliver lagt over i variablen navn
Avatar billede fet321 Nybegynder
09. marts 2002 - 16:27 #12
Så vidt jeg kan se af din kode bliver der kun hentet en værdi til variablen Navn hvis der findes noget i Request.Form
Når du laver en Response.Redirect indeholder Request.Form intet og der vil derfor ingen værdi blive hentet ind i variablen Navn.

Længere nede i koden har du dette
Navn = request("navn" & "hilsen")
Det giver ingen mening og er ikke ASP

Så jeg laver det lige som et svar.
Det virker ikke fordi du ikke henter de værdier fra QueryStringen, som du vil udskrive i din form.
Avatar billede mccannon Nybegynder
09. marts 2002 - 17:12 #13
Nu virker det, fandt ud af noget selv, og noget kom fra jer :-)
heh et textarea kan ikke have en value...gaahh

anyway, hvordan med points..vil i dele eller ?
Avatar billede fet321 Nybegynder
09. marts 2002 - 17:18 #14
Du deler bare løs.
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