webForumDet fria alternativet

Ny med ASP! Enkla frågor antar jag..

ASP

109 svar · 2 570 visningar · startad av tranceformer · sida 5 av 6

Frågan, av tranceformer

Jag har börjat med lite ASP och håller på att göra en butik, en väldigt enkel sådan till att börja med! Det jag ska göra är att ta informationen från textrutorna(enbart textrutor) i formen, och lägga in den i en databas. Till att börja med undrar jag ifall alla sidor ska sluta med .asp ifall man bara behöver ASP-kod på butiken. Jag har använt mig av[Haneng.com](http://www.haneng.com/lessons13.a

Läs frågan i sin helhet →
Medlem sedan juni 200032 967 inlägg
#81

Eftersom du inte längre skapar något recordset måste du ta bort dessa två rader:

   objRS.Close
   Set objRS = nothing

mvh

Medlem sedan juni 2004128 inlägg
#82

Jaaaa!
Du är underbar @nders! Det funkar!
Nu måste jag bara testa så att allt annat funkar..jag ska acceptera svaret ifall allt går som det ska! ;)

Medlem sedan juni 2004128 inlägg
#83

Om jag kör insert-koden direkt fungerar det utmärkt!
Men jag ska ha en bekräfta-sida imellan formuläret och insert, om ni förstår hur jag menar...
För det har jag på bekräfta-sidan en hidden-form, men när jag sen bekräftar och skickar den till databasen så är den hidden där med, den syns inte...
Hur gör jag nu?

Medlem sedan juni 200032 967 inlägg
#84

Du måste se till att du skickar vidare alla formulärvärdena från bekräftelsesidan till insert-sidan. Hur ser koden på bekräftelsesidan ut?

Medlem sedan juni 2004128 inlägg
#85

Den ser ut så här:

<FORM ACTION="insert.asp" METHOD="post" style="font-size=9pt; font-family=arial; background-color=transparent">
	<PRE>
    
   <B>Du har fyllt i följande uppgifter i din beställning:</B>

      Namn/Företag: <font color="#00CCFF"><%=Form_Namn%></font>
  
      Adress: <font color="#00CCFF"><%=Form_Adress%></font>
  
      Postadress: <font color="#00CCFF"><%=Form_Postadress%></font>
  
      E-Postadress: <font color="#00CCFF"><%=Form_Email%></font>
  
      Telefonnr: <font color="#00CCFF"><%=Form_Telefonnr%></font>
  
  
      Antal vinglas: <font color="#00CCFF"><B><%=Form_Vin%></B></font> st
  
      Antal champagneglas: <font color="#00CCFF"><B><%=Form_Champagne%></B></font> st
  
      Antal coctailglas: <font color="#00CCFF"><B><%=Form_Coctail%></B></font> st
  
      Antal snapsglas: <font color="#00CCFF"><B><%=Form_Snaps%></B></font> st
  
      Antal celterglas: <font color="#00CCFF"><B><%=Form_Celter%></B></font> st
  
      Antal grogglas: <font color="#00CCFF"><B><%=Form_Grogg%></B></font> st
  
      <b>Antal glas: <font color="orange"><%=antal%></font> st</b>
  
      <b>Total kostnad: <font color="orange"><%=summa%></font> kr</b>
      varav <font color="orange"><b><%=moms%></b></font> kr är moms
      <INPUT TYPE="hidden" name="webbutik" value="<%=Request.Form("webbutik")%>">
      <INPUT TYPE=SUBMIT VALUE="Bekräfta" style="border:1px black solid;font-size=9pt;font-family=arial; background-color=#6699CC">
</PRE>
</FORM>

Hur gör man en "tillbaka"länk med javascript apropå ingenting? :)

Medlem sedan juni 200032 967 inlägg
#86

Du måste skicka vidare alla formulärfält i hidden-fält i det nya formuläret, på samma sätt som du gjort med fältet webbutik.

Din "apropåfråga":

<a href="#" onclick="history.go(-1);">foo</a>"
Medlem sedan juni 2004128 inlägg
#87

Jaha, jag trodde att det var själva formuläret man skulle skicka, men man måste alltså ta fält för fält...

Tack för hjälpen!

Medlem sedan juni 2004128 inlägg
#88

Hur gör man för att ta nästa fält ifall jag vill ha adressfältet med också t ex? Gör man ett ","bara så här?

<INPUT TYPE="hidden" name="webbutik" value="<%=Request.Form("namn") , Request.Form("adress")%>">
Medlem sedan juni 2004128 inlägg
#89

Det gick inte att göra så...
Antar att man ska använda "snuffar" och så, men jag förstår inte när det ska vara " eller '
Kan någon förklara det för mig?

Medlem sedan mars 20015 287 inlägg
#90
<INPUT TYPE="hidden" name="webbutik" value="<%=Request.Form("webbutik")%>">
<INPUT TYPE="hidden" name="adress" value="<%=Request.Form("adress")%>">

osv..
Ett hidden-fält för varje fält.
Hur får du egentligen in värdena på den där sidan? I variablerna Form_Adress osv? Tar du emot dom med request.form högre upp i koden? I så fall kan du ju använda dig av de variablerna i dina hidden-fält istället för att använda request.form... igen.
(Blev det krångligt nu kanske..?)

Medlem sedan juni 2004128 inlägg
#91

Så här har jag skrivit högre upp i koden, precis som du skrev..

Form_Namn = Trim(Replace(Request.Form("namn"),"""",""""""))

Osv...

Skriver man så här då istället?:

<INPUT TYPE="hidden" name="Adress" value="<%=Form_Adress%>">
Medlem sedan mars 20015 287 inlägg
#92

Ja, det stämmer. Det är bara att rada upp de olika fälten på så sätt.

Medlem sedan juni 2004128 inlägg
#93

Nu vill jag skicka den "totala kostnaden" och "momsen" till databasen, men de finns ju inte i någon form, utan jag har gjort en "summa"variabel och en "moms"variabel, där jag har räknat ut det.
Gör jag så här..

<INPUT TYPE="hidden" name="moms" value="<%=moms%>">

..istället för så här..

<INPUT TYPE="hidden" name="namn" value="<%=Request.Form("namn")%>">

..eller hur går man tillväga för att skicka variabler, om man överhuvudtaget kan det vill säga..

Medlem sedan feb. 200112 078 inlägg
#94

Det går alldeles utmärkt att skicka i stort sett vad som helst i ett formulärfält, även variablars innehåll. Så ja, det fungerar.

Medlem sedan maj 200010 687 inlägg
#95

Man bör dock alltid ta för vana att använda Server.HTMLEncode när man lägger in värden i fält. Just i momsfallet kanske det inte är något problem. Men annars så kan det strula till sig om det kommer in ett citattecken mitt inne i value.

<INPUT TYPE="hidden" name="moms" value="<%=Server.HTMLEncode(moms)%>">
Medlem sedan juni 2004128 inlägg
#96

Det fungerar inte riktigt som jag vill..
När jag skriver så här:

<INPUT TYPE="hidden" name="moms" value="<%=Server.HTMLEncode(moms)%>">

kommer inget värde alls till databasen.

När jag skriver så här:

<INPUT TYPE="hidden" name="moms" value="<%=Server.HTMLEncode([b]"[/b]moms[b]"[/b])%>">

kommer ordet moms till databasen..

Hur skriver jag för att skicka till databasen? Är det så här?:

SQL = "INSERT INTO information(Namn,Moms) VALUES ('" & Request.Form("namn") & "',  '" & [b]Server.HTMLEncode(moms)[/b] & "')"
Medlem sedan juni 200032 967 inlägg
#97

Det första alternativet är rätt, men har du skapat variabeln moms?
Du behöver/ska inte göra HTML-encode i SQL-frågan.

Medlem sedan juni 2004128 inlägg
#98

Ja jag har skapat variabeln moms, men måste man deklarera den också med dim? Jag har bara skrivit:

moms=(summa*0.20)

..det funkar ju bra när jag skriver ut värdet i bekräfta-sidan iaf.
Hur skriver man i SQL-frågan då?

Medlem sedan juni 200032 967 inlägg
#99

Om du har denna:

<INPUT TYPE="hidden" name="moms" value="<%=Server.HTMLEncode(moms)%>">

på din bekräftelsesida, funkar inte detta då:

SQL = "INSERT INTO information(Namn,Moms) VALUES ('" & Request.Form("namn") & "',  '" & request.form("moms") & "')"

Om fältet moms är ett numeriskt fält, ta bort apostroferna runt värdet.

mvh

Medlem sedan juni 2004128 inlägg
#100

När jag skriver som du så kommer ordet moms till databasen, och när jag tar bort apostroferna så kommer ingenting till db:en..

304 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
176 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)