Avatar billede mvk Nybegynder
16. marts 2004 - 09:35 Der er 17 kommentarer og
1 løsning

Onload submit ser ikke ud til at virke

når man udfylder formuleren på http://130.228.36.54/DKFront/Front_DK?FrameLink=/ContentPages/_style_ContentPage_1_col_w_teaser_254

..Så foretaes der en server-side http-request til http://www.border-wines.dk/include/starclub.asp?email=em@il.addr
hvor "em@il.addr" er brugerens email-adresse.

MEN der kommer ikke noget i min database. jeg tror det måske har noget at gøre med min Onload i bodyen... er den forkert ? eller kan den laves på en anden måde ?

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

<body onload="document.forms[0].submit();">
<%mail = Request.Querystring("Email")%>
<form ACTION="<%=MM_editAction%>" METHOD="POST" name="form1">
  <input name="email" type="hidden" id="email" value="<%=mail%>">
  <input type="hidden" name="MM_insert" value="form1">
</form>
</body>
</html>
Avatar billede mm12010 Nybegynder
16. marts 2004 - 09:41 #1
når du sender din form med method="post" kan du ikke hente felterne fra din QueryString, så skal du bruge:

<%mail = Request.Form("Email")%>
Avatar billede mvk Nybegynder
16. marts 2004 - 09:53 #2
men email adressen kommer med URL'en hvordan får jeg så hentet den og indsat den i formen inden den submittes ?
Avatar billede mvk Nybegynder
16. marts 2004 - 10:05 #3
det virker ikke når man udfylder formularen, men hvis jeg bare skriver www.border-wines.dk/starclub.asp?Email=test@eksperten.dk så bliver der lagt en email i databasen
Avatar billede mm12010 Nybegynder
16. marts 2004 - 10:31 #4
så skal du ændre:
  METHOD="POST"
til:
  METHOD="GET"
Avatar billede mvk Nybegynder
16. marts 2004 - 10:41 #5
just like this ?:
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body onload="document.forms[0].submit();">
<%mail = Request.Querystring("Email")%>
<form ACTION="<%=MM_editAction%>" METHOD="GET" name="form1">
  <input name="email" type="hidden" id="email" value="<%=mail%>">
  <input type="hidden" name="MM_insert" value="form1">
</form>
</body>
</html>
Avatar billede mvk Nybegynder
16. marts 2004 - 10:44 #6
der bliver stadig ikke lagt noget i databasen...
Avatar billede mvk Nybegynder
16. marts 2004 - 10:49 #7
ser denne linie rigtig ud: <body onload="document.forms[0].submit();">
Avatar billede helle_fred Nybegynder
16. marts 2004 - 13:32 #8
onload-handleren bliver aktiveret, når siden er indlæst - og det er den vel før du får udfyldt noget som helst?
Avatar billede mm12010 Nybegynder
16. marts 2004 - 13:44 #9
det er i formen på: http://130.228.36.54/DKFront/Front_DK?FrameLink=/ContentPages/_style_ContentPage_1_col_w_teaser_254 at du skal ændre METHOD hvis du vil kunne hente mailen med <%mail = Request.Querystring("Email")%> på den næste side

denne fejler ikke noget: <body onload="document.forms[0].submit();">
Avatar billede mvk Nybegynder
16. marts 2004 - 15:12 #10
okay - tak.
den side har jeg ikke kontrol over. det må du undskylde - det havde jeg ikke fattet.

når han sender den videre som URL parameter hvordan henter jeg den så og smider den i databasen ?

<%mail = Request.Form("Email")%> virker ikke
Avatar billede mvk Nybegynder
16. marts 2004 - 15:26 #11
hvordan kan det være at det virker når man klikker på dette link så virket det:
http://www.border-wines.dk/include/starclub.asp?Email=test@mail.dk
men når han sender det samme link videre fra formen så funger det ikke - er det det der som du skriver med METHOD="GET" ?
Avatar billede mvk Nybegynder
16. marts 2004 - 15:37 #12
jeg har lige fået denne mail fra ham der har sat formularen op, han siger at den er sat til GET:

Hei, Michael.

Uhm - er her ikke sikker på, hvad du mener.
Jeg sender her en request til http://www.border-wines.dk/include/starclub.asp,
med parameteret email=<email-adresse>.
..Og dette er jo "GET".

Kommer der ikke korrekte http-requester ind til starclub.asp? ..Eller vil du hellere have det som "POST"?

Jeg sænder p.t. kun ind email-adressen, ikke de andre indtastede parametre i formularet. Ønsker du at også få de andre fæltene i formularet?

Bare sig til, hvis jeg skal ændre noget, eller lave mere debug- information.

Mvh.
Trond Roaas
Avatar billede olebole Juniormester
16. marts 2004 - 17:42 #13
<ole>

ADVARSEL: Drop _alt_ om at bruge '@' i URL'er. Det lader sig kun gøre i IE, hvis man kører med en u-patched IE. Microsoft har lukket for denne mulighed af sikkerhedsårsager, så det er yderst uklogt at sende e-mail-adresser med query-strings. Om få måneder kan ingen bruge den slags sider  :)

/mvh
</bole>
Avatar billede mvk Nybegynder
17. marts 2004 - 21:10 #14
hvordan kan/skal jeg så løse problemet ?
Avatar billede olebole Juniormester
18. marts 2004 - 00:11 #15
Ved at post'e i stedet for at get'e
Avatar billede mvk Nybegynder
18. marts 2004 - 08:06 #16
okay...
hvis jeg får ham til at poste skal jeg så ændre noget i min kode:
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body onload="document.forms[0].submit();">
<%mail = Request.Querystring("Email")%>
<form ACTION="<%=MM_editAction%>" METHOD="POST" name="form1">
  <input name="email" type="hidden" id="email" value="<%=mail%>">
  <input type="hidden" name="MM_insert" value="form1">
</form>
</body>
</html>
Avatar billede mvk Nybegynder
19. marts 2004 - 09:12 #17
hvordan får jeg så fat i emailen når han bruger POST =?
Avatar billede mvk Nybegynder
30. marts 2004 - 12:10 #18
det var fordi han sendte variablerne forkert af sted... kegle!
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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