webForumDet fria alternativet

Hej, lite hjälp med ett script...

ASP

7 svar · 266 visningar · startad av Fredrik.an

Medlem sedan sep. 2001162 inlägg
Frågan#1

Hej, jag sitter och jobbar lite med detta script: http://www.aspsidan.nu/scriptRead.asp?fId=1130
har laddat ner det från aspsidan.nu

Det är ett bokningssystem av biljetter... Jag vill dock att då man inte fyllt i alla rutor ska det komma fram att man har missat rutor och ska då fylla i dem. Som det är nu får man ett felmeddelande om man inte fyllt i alla turot... Kan någon fixa det?

Vill ni inte ladda hem scriptet ser koden ut så här...

Default.asp

<HTML>
<HEAD>
<TITLE>Add your news</TITLE>
<link rel=stylesheet href="admin/stile.css" type="text/css">
</HEAD>
Best&auml;ll biljetter<br>

<form name="add" method="post" action="default.asp?do=add">
  <TABLE width="624">
  <TR> 
  <TD valign="top" height="19" width="418">
                    <table width="417" border="0" cellspacing="0" cellpadding="0">
                        <tr>
                            <td width="208">F&ouml;rnamn:<br>
                                <input name="fnamn" type="text" id="fnamn" size="30"></td>
                            <td>Efternamn:<br>
                                <input name="enamn" type="text" id="enamn" size="30"></td>
                        </tr>
                    </table>
                
                 
  <TD valign="top" width="194"></TR>
  <TR> 
  <TD width="620" height="19" colspan="2" valign="top"> Adress: <br> <input name="adress" type="text" id="adress" size="30"> 
  </TR>
  <TR> 
  <TD width="418" height="19" valign="top">
                        <table width="389" border="0" cellspacing="0" cellpadding="0">
                            <tr>
                                <td width="208"><b>Postnr. <br>
                                        <input name="postnr" type="text" id="postnr" size="12"></td>
                                <td>Ort:<br>
                                        <input name="ort" type="text" id="ort" size="30"></td>
                            </tr>
                        </table>
                    </b>
                 
  <TD height="19" valign="top"></TR>
  <TR> 
  <TD width="418" height="19" valign="top">
                    <table width="396" border="0" cellspacing="0" cellpadding="0">
                        <tr>
                            <td width="208">E-post:<br>
                                <input type="post" name="email"></td>
                            <td>Tel.nr.<br>
                                <input name="tel" type="text" id="tel"></td>
                        </tr>
                    </table>
                
                 
  <TD height="19" valign="top"></TR>
  <TR> 
  <TD width="620" height="19" colspan="2" valign="top">H&auml;r nedan g&ouml;r du dina 
  f&ouml;rhandsbokningar av de billjetter du vill ha.</TR>
  <TR> 
  <TD width="620" height="19" colspan="2" valign="top"></TR>
  <TR> 
  <TD width="418" height="19" valign="top">Jag vill best&auml;lla 
  <input name="frest" type="text" id="Ung" value="0" size="4"> st intr&auml;desbiljett | Ungdom (upp till gymnasiet)
  <TD height="19" valign="top">Dessa kostar 50 kr/st</TR>
  <TR> 
  <TD width="418" height="19" valign="top">Jag vill best&auml;lla 
  <input name="lorst" type="text" id="Vux" value="0" size="4"> st intr&auml;desbiljett | Vuxen 
  <TD height="19" valign="top">Dessa kostar 100 kr/st</TR>
  <TR> 
  <TD width="418" height="19" valign="top">Jag vill best&auml;lla 
  <input name="helg" type="text" id="Mat" value="0" size="4"> st matpaket.
  <TD height="19" valign="top">Dessa kostar 20 kr/st</TR>
  <TR> 
  <TD width="620" height="19" colspan="2" valign="top"></TR>
  <TR> 
  <TD width="620" height="19" colspan="2" valign="top"><INPUT TYPE="Submit" value="Skicka best&auml;llning"> 
  </TR>
  </TABLE>

</form>
<%
If Request.QueryString("do") = "add" Then

Set MinCon = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.RecordSet")

MinCon.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data source=" & Server.MapPath("db/bokning.mdb")
SQL = "SELECT * From bokning"
rs.Open SQL, MinCon, 1, 2

rs.AddNew
rs("fnamn") = Request.Form("fnamn")
rs("enamn") = Request.Form("enamn")
rs("adress") = Request.Form("adress")
rs("postnr") = Request.Form("postnr")
rs("ort") = Request.Form("ort")
rs("email") = Request.Form("email")
rs("tel") = Request.Form("tel")
rs("Ung") = Request.Form("frest")
rs("Vux") = Request.Form("lorst")
rs("Mat") = Request.Form("helg")
rs("date") = Date
rs.Update
rs.Close

Response.Redirect("bek.asp")
End If
%>

<br>
<hr width="96%">
<div align="center"> </div>

bek.asp

<HTML>
<HEAD>
<TITLE>News</TITLE>
<link rel=stylesheet href="stile.css" type="text/css">
<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
function varitext(text){
text=document
print(text)
}
// End -->
</script>
</HEAD>

<%
Set MinCon = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset")
MinCon.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("db/bokning.mdb")

Const perSida = 1
Sidan = Request.QueryString("sida")
If Sidan = "" then 
sida = 1 
Else 
sida = Sidan 

End If 

With rs
  .CursorLocation = 3
  .CacheSize = perSida 
End With

SQL = "SELECT * From bokning Order By Id Desc"
rs.Open SQL, MinCon

With rs
  .MoveFirst 
  .PageSize = perSida 
  .AbsolutePage = sida
End With

Sidor =  rs.PageCount

Count = 0 

Do While Not rs.EOF And Count < rs.PageSize 
%>
<p>Din best&auml;llning skickades <%=rs("date")%></p>
<p>Ditt bokningsnummer &auml;r: se-28/<%=rs("id")%></p>
<p>Dina best&auml;llnings uppgifter &auml;r:</p>
<table width="36%" border="0" cellspacing="0" cellpadding="0">
  <tr> 
  <td>F&ouml;rnamn:</td>
  <td>Efternamn</td>
  </tr>
  <tr> 
  <td><%=rs("fnamn")%></td>
  <td><%=rs("enamn")%></td>
  </tr>
</table>
<table width="36%" border="0" cellspacing="0" cellpadding="0">
  <tr> 
  <td>Adress:</td>
  </tr>
  <tr> 
  <td><%=rs("adress")%></td>
  </tr>
  <tr> 
  <td><%=rs("postnr")%>&nbsp;&nbsp;<%=rs("ort")%></td>
  </tr>
  <tr> 
  <td>&nbsp;</td>
  </tr>
  <tr> 
  <td>Epost:</td>
  </tr>
  <tr> 
  <td><%=rs("email")%></td>
  </tr>
  <tr> 
  <td>Telefonnummer:</td>
  </tr>
  <tr>
  <td><%=rs("tel")%></td>
  </tr>
</table>
<p>&nbsp;</p>
<table width="36%" border="0" cellspacing="0" cellpadding="0">
  <tr> 
  <td>Du har gjort f&ouml;ljande best&auml;llning av billjetter:</td>
  </tr>
  <tr> 
  <td><%=rs("Ung")%>  st intr&auml;desbiljetter ungdom</td>
  </tr>
  <tr> 
  <td><%=rs("Vux")%>  st intr&auml;desbiljetter vuxen</td>
  </tr>
  <tr>
  <td><%=rs("Mat")%>  st matpaket</td>
  </tr>
</table>
<p>&nbsp;</p><table width="36%" border="0" cellspacing="0" cellpadding="0">
  <tr>
  <td>Du skall vid kassan betala 
  <% dim varde1, varde2, varde3, summa

varde1 = rs("Ung")*50
varde2 = rs("Vux")*100
varde3 = rs("Mat")*20

summa = varde1+varde2+varde3 

response.write summa %>
  </td>
  </tr>
  <tr>
  <td>&nbsp;</td>
  </tr>
  <tr>
  <td><form>
  <input name="print" type="button" value="Skriv ut bekr&auml;ftelsen" onClick="varitext()">
</form></td>
  </tr>
</table>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><br>
  <br>
  <br>
  <%
Count = Count + 1
rs.MoveNext
Loop

rs.Close
MinCon.Close
%>
  <%If Sidor = 1 Then%>
  <%Else%>
  <%End If%>
  <%If Sidor <> 1 Then%>
  <%For Sid = 1 To Sidor%>
  <%If (Int(Sid)) = (Int(sida)) Then%>
  <%=Sid%> 
  <%Else%>
  <a href="default.asp?sida=<%=Sid%>"><%=Sid%></a> 
  <%End If%>
  <%Next%>
  <%End If%>
  <br>
</p>

Sen en annan fråga oxå, kan man på något smidigt sätt göra så att man kan gå tillbaka och ändra sina uppgifter?

Medlem sedan sep. 2000667 inlägg
#2

Du kan ju alltid använda dig av:

if request.form("dag") = "" Then
response.write "Du glömde skriva dag"
elseif request.form("tid") = "" Then
respone.write "Du glömde skriva tid"
elseif request.form("Någotval") = "" Then
response.write "Du glömde välja något"
else 
' Fälten är ifyllda, pela in allt i db:n
End if
Medlem sedan sep. 2000667 inlägg
#3

Din sista fråga förresten.
Om inte alla fälten är ifyllda, så visa formuläret igen:

<input type=text name=Alternativ1 value="<%=Request.form("Alternativ1")%>">
Medlem sedan sep. 2000667 inlägg
#4

Sen kommer säkert någon att skriva att det är bra om du har ett javascript som kollar formuläret efter tomma fält innan det postas.

Medlem sedan sep. 2001162 inlägg
#5

Det funkar jättebra det med att man får upp meddelande om att inte fälten är ifyllda, men går det göra så att informationen inte försvinner? För nu blir alla fälten tomma då jag glömmer t.ex. Förnamnet...

Medlem sedan sep. 2001162 inlägg
#6

Inferis skrev:

Din sista fråga förresten.
Om inte alla fälten är ifyllda, så visa formuläret igen:

<input type=text name=Alternativ1 value="<%=Request.form("Alternativ1")%>">

Detta fattar jag inte riktigt, vart ska de3tta placeras? :? Eller är detta svaret på min tidigare fråga i inlägget ovan detta? :S

EDIT: Tack! Det var som jag kom på, huvudet var nog lite trött :?

Medlem sedan sep. 2001162 inlägg
#7

Ett problem, allt funkar jättebra men bara en sak. När man får en bekräftelse på det man beställt vill jag då ha att man kan ändra uppgifterna och rätta sig lite om man skrivit fel. Men hur ska jag göra det? Man kan ju inte bara hoppa tillbaka ett steg, då får man ju ett nytt serienummer då man klickar på bekräftaknappen igen. Någon som har en bra idé?

Medlem sedan sep. 2000667 inlägg
#8

Sök på Update här i Wf.

268 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
131 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)