Frågan 9 sep. 2004 14:49 #1 Hej, jag har postat innan ang. detta script men det känns som om tråden inte får några ögon nu...
Det är ett bokningssystem av biljettewr och på sidan bek.asp där det man fyllt i visas ska man kunna klicka på en knapp och ändra uppgifter om man fyllt i fel. Hur gör man detta?
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ällning skickades <b><%=rs("date")%><br>
<br>
<font size="3" color="red">OBS! Ditt bokningsnummer ska tas med till evenemanget <br>
för uthämntnig av biljett/biljetter OBS!<br>
</font></b><b>Ditt bokningsnummer är: <font size="2">se-28/<%=rs("id")%></font></b></p>
<p>Dina beställnings uppgifter är:</p>
<table width="36%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>Förnamn:</td>
<td>Efternamn</td>
</tr>
<tr>
<td><b><%=rs("fnamn")%></b></td>
<td><b><%=rs("enamn")%></b></td>
</tr>
</table>
<table width="36%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>Adress:</td>
</tr>
<tr>
<td><b><%=rs("adress")%></b></td>
</tr>
<tr>
<td><b><%=rs("postnr")%> <%=rs("ort")%></b></td>
</tr>
<tr>
<td> </td>
</tr>
<tr>
<td>Epost:</td>
</tr>
<tr>
<td><b><%=rs("email")%></b></td>
</tr>
<tr>
<td>Telefonnummer:</td>
</tr>
<tr>
<td><b><%=rs("tel")%></b></td>
</tr>
</table>
<p> </p>
<table width="36%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>Du har gjort följande beställning av billjetter:</td>
</tr>
<tr>
<td><b><%=rs("Ung")%> st inträdesbiljetter ungdom</b></td>
</tr>
<tr>
<td><b><%=rs("Vux")%> st inträdesbiljetter vuxen</b></td>
</tr>
<tr>
<td><b><%=rs("Mat")%> st matpaket</b></td>
</tr>
</table>
<p> </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> </td>
</tr>
<tr>
<td>
<form>
<input name="print" type="button" value="Skriv ut bekräftelsen" onClick="varitext()">
</form>
</td>
</tr>
</table>
<p> </p>
<p> </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="bokning.asp?sida=<%=Sid%>"><%=Sid%></a>
<%End If%>
<%Next%>
<%End If%>
<br>
</p>
Själva bokningssidan ser ut så här kodmässigt, om ni behöver se den.
Bokning.asp
<HTML>
<HEAD>
<TITLE>Add your news</TITLE>
<link rel=stylesheet href="admin/stile.css" type="text/css">
</HEAD>
Beställ biljetter<br><b><font color="red">Alla fälten måste fyllas i.</font><br>
</b>
<form name="add" method="post" action="bokning.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"><b>Förnamn:</b><br>
<input name="fnamn" type="text" id="fnamn" size="30" value="<%=Request.form("fnamn")%>"></td>
<td><b>Efternamn:</b><br>
<input name="enamn" type="text" id="enamn" size="30" value="<%=Request.form("enamn")%>"></td>
</tr>
</table>
<TD valign="top" width="194"></TR>
<TR>
<TD width="620" height="19" colspan="2" valign="top"> <b>Adress:</b> <br> <input name="adress" type="text" id="adress" size="30" value="<%=Request.form("adress")%>">
</TR>
<TR>
<TD width="418" height="19" valign="top"><b>
<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" value="<%=Request.form("postnr")%>"></b></td>
<td><b>Ort:<br>
<input name="ort" type="text" id="ort" size="30" value="<%=Request.form("ort")%>"></b></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"><b>E-post:</b><br>
<input type="post" name="email" value="<%=Request.form("email")%>"></td>
<td><b>Tel.nr.<br>
</b><input name="tel" type="text" id="tel" value="<%=Request.form("tel")%>"></td>
</tr>
</table>
<TD height="19" valign="top"></TR>
<TR>
<TD width="620" height="19" colspan="2" valign="top">Här nedan gör du dina
fö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älla
<input name="frest" type="text" id="Ung" value="0" size="4" value="<%=Request.form("Ung")%>"> st inträdesbiljett | <b>Ungdom</b> (upp till 19 år)
<TD height="19" valign="top">Dessa kostar 50 kr/st</TR>
<TR>
<TD width="418" height="19" valign="top">Jag vill beställa
<input name="lorst" type="text" id="Vux" value="0" size="4" value="<%=Request.form("Vux")%>"> st inträdesbiljett | <b>Vuxen</b>
<TD height="19" valign="top">Dessa kostar 100 kr/st</TR>
<TR>
<TD width="418" height="19" valign="top">Jag vill beställa
<input name="helg" type="text" id="Mat" value="0" size="4" value="<%=Request.form("Mat")%>"> 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ällning">
</TR>
</TABLE>
</form>
<font color="red"><b><h4>
<%
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
if request.form("fnamn") = "" Then
response.write "Du glömde skriva ditt förnamn."
elseif request.form("enamn") = "" Then
response.write "Du glömde skriva ditt efternamn."
elseif request.form("adress") = "" Then
response.write "Du glömde skriva din adress."
elseif request.form("postnr") = "" Then
response.write "Du glömde skriva ditt postnummer."
elseif request.form("ort") = "" Then
response.write "Du glömde skriva din ort."
elseif request.form("email") = "" Then
response.write "Du glömde skriva din email."
elseif request.form("tel") = "" Then
response.write "Du glömde skriva ditt telefonnummer."
else
rs.Update
rs.Close
Response.Redirect("bek.asp")
End If
End If
%>
</font></b></h4>
<br>
<hr width="96%">
<div align="center"> </div>
Var har du din sida där du listar uppgifterna och din update-sats?
C Cmart Medlem sedan feb. 2002 69 inlägg Gör en lika dan sida som bokning.asp fast där varje input hämtar de ifyllna värdena från databasen.
EX. value="<%=rs("postnr")%>"
SQL-satsen blir:
Select * from Bokning WHERE id =" & Request.Querystring("ID")
Tack för hjälpen men det funkar inte riktigt, det är just anropet av databasen som inte riktigt vill... Det känns som om du har glömt någon " men hur jag än testar funkar det inte...
andra.asp
<HTML>
<HEAD>
<TITLE>Add your news</TITLE>
<link rel=stylesheet href="admin/stile.css" type="text/css">
</HEAD>
Beställ biljetter<br><b><font color="red">Alla fälten måste fyllas i.</font><br>
</b>
<form name="andra" method="post" action="bokning.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"><b>Förnamn:</b><br>
<input name="fnamn" type="text" id="fnamn" size="30" value="<%=rs("fnamn")%>"></td>
<td><b>Efternamn:</b><br>
<input name="enamn" type="text" id="enamn" size="30" value="<%=rs("enamn")%>"></td>
</tr>
</table>
<TD valign="top" width="194"></TR>
<TR>
<TD width="620" height="19" colspan="2" valign="top"> <b>Adress:</b> <br> <input name="adress" type="text" id="adress" size="30" value="<%=rs("adress")%>">
</TR>
<TR>
<TD width="418" height="19" valign="top"><b>
<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" value="<%=rs("postnr")%>"></b></td>
<td><b>Ort:<br>
<input name="ort" type="text" id="ort" size="30" value="<%=rs("ort")%>"></b></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"><b>E-post:</b><br>
<input type="post" name="email" value="<%=rs("email")%>"></td>
<td><b>Tel.nr.<br>
</b><input name="tel" type="text" id="tel" value="<%=rs("tel")%>"></td>
</tr>
</table>
<TD height="19" valign="top"></TR>
<TR>
<TD width="620" height="19" colspan="2" valign="top">Här nedan gör du dina
fö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älla
<input name="frest" type="text" id="Ung" value="0" size="4" value="<%=rs("ung")%>"> st inträdesbiljett | <b>Ungdom</b> (upp till 19 år)
<TD height="19" valign="top">Dessa kostar 50 kr/st</TR>
<TR>
<TD width="418" height="19" valign="top">Jag vill beställa
<input name="lorst" type="text" id="Vux" value="0" size="4" value="<%=rs("vux")%>"> st inträdesbiljett | <b>Vuxen</b>
<TD height="19" valign="top">Dessa kostar 100 kr/st</TR>
<TR>
<TD width="418" height="19" valign="top">Jag vill beställa
<input name="helg" type="text" id="Mat" value="0" size="4" value="<%=rs("mat")%>"> 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ällning">
</TR>
</TABLE>
</form>
<font color="red"><b><h4>
<%
If Request.QueryString("do") = "andra" 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 WHERE id =" & Request.Querystring("ID")"
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
if request.form("fnamn") = "" Then
response.write "Du glömde skriva ditt förnamn."
elseif request.form("enamn") = "" Then
response.write "Du glömde skriva ditt efternamn."
elseif request.form("adress") = "" Then
response.write "Du glömde skriva din adress."
elseif request.form("postnr") = "" Then
response.write "Du glömde skriva ditt postnummer."
elseif request.form("ort") = "" Then
response.write "Du glömde skriva din ort."
elseif request.form("email") = "" Then
response.write "Du glömde skriva din email."
elseif request.form("tel") = "" Then
response.write "Du glömde skriva ditt telefonnummer."
else
rs.Update
rs.Close
Response.Redirect("bek.asp")
End If
End If
%>
</font></b></h4>
<br>
<hr width="96%">
<div align="center"> </div>
Hur ska det bli rätt?
C Cmart Medlem sedan feb. 2002 69 inlägg Du måste ju hämta värden från databasen som skall hamna på resp value:
I bek.asp
<a href="andra.asp?ID=<%=rs("id")%>">Ändra</a>
I andra.asp överst:
Set MinCon = Server.CreateObject("ADODB.Connection")
MinCon.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data source=" & Server.MapPath("db/bokning.mdb")
SQL = "Select * from Bokning WHERE id =" & Request.Querystring("ID")";"
set rs=MinCon.Execute(SQL)
Sen måste du ta bort Addnew annars blir det en ny post i databasen. Jag skulle föreslå att du använder:
SQL="UPDATE Bokning SET fnamn='"&rs("namn")&"', .... osv ....' WHERE id="&id&";"
MinCon.Execute(SQL)
Cmart> Jag får det verkligen inte att fungera... :(
Kan du inte visa var koden ska placeras mer precis, för det vill verkligen inte, vet inte om det är tröttheten eller trögheten?
C Cmart Medlem sedan feb. 2002 69 inlägg
<HTML>
<HEAD>
<TITLE>Add your news</TITLE>
<link rel=stylesheet href="admin/stile.css" type="text/css">
</HEAD>
Beställ biljetter<br><b><font color="red">Alla fälten måste fyllas i.</font><br>
</b>
<%
Set MinCon = Server.CreateObject("ADODB.Connection")
MinCon.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data source=" & Server.MapPath("db/bokning.mdb")
id = request.querystring("id")
if request.querystring("do") <> "change" then
SQL = "Select * from Bokning WHERE id =" & Request.Querystring("ID") & ";"
set rs=MinCon.Execute(SQL)
%>
<form name="andra" method="post" action="andra.asp?do=change">
<input type="hidden" name="id" value="<%= rs("id") %>">
<TABLE width="624">
<TR>
<TD valign="top" height="19" width="418">
<table width="417" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="208"><b>Förnamn:</b><br>
<input name="fnamn" type="text" id="fnamn" size="30" value="<%=rs("fnamn")%>"></td>
<td><b>Efternamn:</b><br>
<input name="enamn" type="text" id="enamn" size="30" value="<%=rs("enamn")%>"></td>
</tr>
</table>
<TD valign="top" width="194"></TR>
<TR>
<TD width="620" height="19" colspan="2" valign="top"> <b>Adress:</b> <br> <input name="adress" type="text" id="adress" size="30" value="<%=rs("adress")%>">
</TR>
<TR>
<TD width="418" height="19" valign="top"><b>
<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" value="<%=rs("postnr")%>"></b></td>
<td><b>Ort:<br>
<input name="ort" type="text" id="ort" size="30" value="<%=rs("ort")%>"></b></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"><b>E-post:</b><br>
<input type="post" name="email" value="<%=rs("email")%>"></td>
<td><b>Tel.nr.<br>
</b><input name="tel" type="text" id="tel" value="<%=rs("tel")%>"></td>
</tr>
</table>
<TD height="19" valign="top"></TR>
<TR>
<TD width="620" height="19" colspan="2" valign="top">Här nedan gör du dina
fö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älla
<input name="frest" type="text" id="Ung" value="0" size="4" value="<%=rs("ung")%>"> st inträdesbiljett | <b>Ungdom</b> (upp till 19 år)
<TD height="19" valign="top">Dessa kostar 50 kr/st</TR>
<TR>
<TD width="418" height="19" valign="top">Jag vill beställa
<input name="lorst" type="text" id="Vux" value="0" size="4" value="<%=rs("vux")%>"> st inträdesbiljett | <b>Vuxen</b>
<TD height="19" valign="top">Dessa kostar 100 kr/st</TR>
<TR>
<TD width="418" height="19" valign="top">Jag vill beställa
<input name="helg" type="text" id="Mat" value="0" size="4" value="<%=rs("mat")%>"> 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ällning">
</TR>
</TABLE>
</form>
<% Else %>
<font color="red"><b><h4>
<%
If Request.QueryString("do") = "change" Then
Set rs = Server.CreateObject("ADODB.RecordSet")
ID = Request.Form("ID")
SQL = "Select * from Bokning WHERE id =" & ID & ";"
rs.Open SQL, MinCon, 1, 2
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
if request.form("fnamn") = "" Then
response.write "Du glömde skriva ditt förnamn."
elseif request.form("enamn") = "" Then
response.write "Du glömde skriva ditt efternamn."
elseif request.form("adress") = "" Then
response.write "Du glömde skriva din adress."
elseif request.form("postnr") = "" Then
response.write "Du glömde skriva ditt postnummer."
elseif request.form("ort") = "" Then
response.write "Du glömde skriva din ort."
elseif request.form("email") = "" Then
response.write "Du glömde skriva din email."
elseif request.form("tel") = "" Then
response.write "Du glömde skriva ditt telefonnummer."
else
rs.Update
rs.Close
set rs = nothing
MinCon.Close
set MinCon = nothing
Response.Redirect("bek.asp")
End If
End If
%>
</font></b></h4>
<br>
<hr width="96%">
<div align="center"> </div>
<%
rs.Close
set rs = nothing
MinCon.Close
set MinCon = nothing
end if %>
Tack så otroligt mycket, ska studera din kod och se hur du placerade det och då se mina fel, så jag lär mig något av det oxå. Det funkar helt perfekt, tack!