jimboMedlem sedan feb. 2003185 inlägg Hej!
Använder Joakims suveräna webshop som finns på https://www.joakimweb.com.
Nu helt plötsligt fick jag detta felmeddelande från attt det funkat perfekt hur länge som helst?
Fattar inte varför det blivet så, hoppas innerligt att någon kan hjälpa mig.
Felmeddelandet:
"Response object error 'ASP 0158 : 80004005'
Missing URL /spara.asp,
line 23
A URL is required."
kod till formen som lägger sakerna i kundvagnen i default.asp:
<form name="form1" method="post" action="spara.asp?id=<%=RecSet("id")%>&namn=<%=RecSet("namn")%>&pris=<%=RecSet("pris")%>">
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="71%" valign="middle">
<%
Response.Write "<b>Pris:</b> "
pris = RecSet("pris")
pris2 = FormatCurrency(pris,2)
pris2 = Replace(pris2,",00","")
Response.Write pris2
IF inklmoms = 1 then
Response.Write ""
ELSE
Response.Write " Exkl. moms"
END IF
Response.Write "</td>"
%>
<td width="29%"> <div align="right"><br>
Antal:
<input name="antal" type="text" style="background: #ffffff; border: #ffffff 1px solid; font-family: verdana; font-size: 10px" value="1" size="3" maxlength="4">
<br>
</div></td>
</tr>
<tr>
<td valign="middle">
<td><input type="submit" name="Submit" value="Lägg i kundvagnen" style="background: #ffffff; border: #D27899 1px solid; font-family: verdana; font-size: 10px"></td>
</tr>
</table>
</form>
spara.asp - koden
<%
Response.Cookies(Session.SessionID)(Request("id")) = Request("antal")
Response.Cookies(Session.SessionID).Expires = DateAdd("h", 2, now)
nyprod = Request("antal") & "st <b>" & Request("namn") & "</b> á "
priset = Request("pris")
nyprod = nyprod & FormatCurrency(priset,2)
nyprod = nyprod & "<br>Har lagts i din kundvagn"
Session("nyprod") = nyprod
Response.Redirect Request.ServerVariables("HTTP_REFERER")
varde = Request.Cookies(""& Session.SessionID &"")
Response.Write varde & "<br><br>"
hamta = Split(varde,"&")
ReDim MyArray(1,Ubound(hamta))
for x = 0 to ubound(hamta)
hamta2 = Split(hamta(x),"=")
MyArray(0,x) = hamta2(0)
MyArray(1,x) = hamta2(1)
Response.Write "id: " & hamta2(0) & "<br>"
Response.Write "antal: " & hamta2(1) & "<br>"
response.write hamta(x) & "<br><br>"
next
For i = 0 To Ubound(myArray,2)
Response.write myArray(0,i)
Response.Write myArray(1,i)&"<br>"
Next
%>
Line 23 är då detta den hänvisar till:
Response.Redirect Request.ServerVariables("HTTP_REFERER")
Tack på förhand Mvh Jimmy
@ndersMedlem sedan juni 200032 969 inlägg Det känns farligt att göra så, eftersom det ju inte alltid finns ett värde i HTTP_REFERER. Exempelvis är det en del personliga brandväggar som stoppar det värdet, och då blir det knas. Så; du bör ändra den koden.
Mitt förslag är att du i formuläret skickar med ett hiddenfält som innehåller adressen som det ska redirectas till.
mvh
jimboMedlem sedan feb. 2003185 inlägg Tack Anders!
Misstänkte också att det kanske var brandväggen. Du får gärna visa mig, då jag inte är så haj att knacka koden - det hade varit hyvens!
Mvh Jimmy
@ndersMedlem sedan juni 200032 969 inlägg Om det bara är en sida som postar till spara.asp så är det enklaste att bara göra så här:
Response.redirect "default.asp"
Annars, om du vill posta med aktuell url i formuläret:
if request.querystring <> "" then sQs = "?" & request.querystring
response.write "<input type=""hidden"" name=""url"" value=""" & Request.ServerVariables("PATH_INFO") & sQs & """>"
..
response.redirect request.form("url")
jimboMedlem sedan feb. 2003185 inlägg Hej Anders o tack!
Bytte ut i spara.asp:
Response.Redirect Request.ServerVariables("HTTP_REFERER")
mot:
Response.redirect "default.asp"
Funkade till en början med sedan när jag skulle kolla innehållet i kassan så blev det error:
ADODB.Field error '800a0bcd'
Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record.
/default.asp, line 277
som refererar till:
MyArray(2,x) = RecSet("artnr")
hmmm?
Mvh Jimmy
@ndersMedlem sedan juni 200032 969 inlägg Tja, felmeddelandet betyder att recordsetet är tomt. Jag har svårt att tänka mig att det skulle ha att göra med att du bytt en redirect...
Du får nog kontrollera SQL-frågan som körs.
jimboMedlem sedan feb. 2003185 inlägg Hmm ja vet inte riktigt vad ja gjorde men nu funkar det iallfall. Måste fattats något litet.
Tack ska du ha Anders!
En fråga till bara om man skulle vill posta med aktuell url i formuläret, koden du angav ovan, det är den som ska in i <form> taggen då istället för det andra som jag skrev ovan typ spara.asp?id= osv osv
Mvh Jimmy
@ndersMedlem sedan juni 200032 969 inlägg
En fråga till bara om man skulle vill posta med aktuell url i formuläret, koden du angav ovan, det är den som ska in i <form> taggen då istället för det andra som jag skrev ovan typ spara.asp?id= osv osv
Nej, inte istället för någonting, bara som ett tillägg till ditt befintliga formulär.
Mvh
jimboMedlem sedan feb. 2003185 inlägg Ok har fått det till att funka =)) TACK!
Men upptäckte att att när man lagt ordern från kassan så blev det error pga HTTP_reffer i order.asp som skapar jmailen.
Har testat fram och tillbaka med att köra samma kod men noooo.
order.asp ska ju skicka tillbaka till default.asp till ett avsnitt där ett meddelande om att beställningen har gått iväg finns, får inte det att funka, jag skriver ut koden här nedan:
formen till kassan i default.asp: + avsnittet där anropet kommer om ordern är skickad.
<form action="order.asp" method="post">
<table width="" border="0" align="center" cellpadding="2" cellspacing="2">
<tr>
<td height="15" colspan="2" class="Rubrik2"><strong><font size="1">Beställningsinfo</font></strong></td>
</tr>
<%
IF len(Session("webshopfel")) > 0 then
falt = Split(Session("falt"),"|")
fel = 1
ELSE
fel = 0
END IF
%>
<tr>
<td width="104">Ditt namn:</td>
<td width="43">
<%
Response.Write "<input name='namn' type=text style='background: #ffffff; border: #D27899 1px solid;"
Response.Write " font-family: verdana; font-size: 10px; font-color: #21283D' size=30"
IF fel > 0 then
Response.Write " value='" & falt(0) & "'>"
ELSE
Response.Write ">"
END IF
%>
</td>
</tr>
<tr>
<td>Gatuadress:</td>
<td>
<%
Response.Write "<input name='adress' type=text style='background: #ffffff; border: #D27899 1px solid;"
Response.Write " font-family: verdana; font-size: 10px; font-color: #21283D' size=30"
IF fel > 0 then
Response.Write " value='" & falt(1) & "'>"
ELSE
Response.Write ">"
END IF
%>
</td>
</tr>
<tr>
<td>Postnr:</td>
<td>
<%
Response.Write "<input name='postnr1' type=text style='background: #ffffff; border: #D27899 1px solid;"
Response.Write " font-family: verdana; font-size: 10px; font-color: #21283D' size=3 maxlength=3"
IF fel > 0 then
Response.Write " value='" & falt(2) & "'>"
ELSE
Response.Write ">"
END IF
%>
<%
Response.Write " <input name='postnr2' type=text style='background: #ffffff; border: #D27899 1px solid;"
Response.Write " font-family: verdana; font-size: 10px; font-color: #21283D' size=2 maxlength=2"
IF fel > 0 then
Response.Write " value='" & falt(3) & "'>"
ELSE
Response.Write ">"
END IF
%>
</td>
</tr>
<tr>
<td>Postadress:</td>
<td>
<%
Response.Write "<input name='postadress' type=text style='background: #ffffff; border: #D27899 1px solid;"
Response.Write " font-family: verdana; font-size: 10px; font-color: #21283D' size=30"
IF fel > 0 then
Response.Write " value='" & falt(4) & "'>"
ELSE
Response.Write ">"
END IF
%>
</td>
</tr>
<tr>
<td>Telefonnr:</td>
<td>
<%
Response.Write "<input name='tfn1' type=text style='background: #ffffff; border: #D27899 1px solid;"
Response.Write " font-family: verdana; font-size: 10px; font-color: #21283D' size=5"
IF fel > 0 then
Response.Write " value='" & falt(5) & "'>"
ELSE
Response.Write ">"
END IF
Response.Write " - "
Response.Write "<input name='tfn2' type=text style='background: #ffffff; border: #D27899 1px solid;"
Response.Write " font-family: verdana; font-size: 10px; font-color: #21283D' size=10"
IF fel > 0 then
Response.Write " value='" & falt(6) & "'>"
ELSE
Response.Write ">"
END IF
%>
</td>
</tr>
<tr>
<td height="20">E-post adress:</td>
<td>
<%
Response.Write "<input name='epost' type=text style='background: #ffffff; border: #D27899 1px solid;"
Response.Write " font-family: verdana; font-size: 10px; font-color: #21283D' size=30"
IF fel > 0 then
Response.Write " value='" & falt(7) & "'>"
ELSE
Response.Write ">"
END IF%>
</td>
</tr>
<tr>
<td>Övrig info:</td>
<td>
<%
Response.Write "<input name='ovrigt' type=text style='background: #ffffff; border: #D27899 1px solid;"
Response.Write " font-family: verdana; font-size: 10px; font-color: #21283D' size=30"
IF fel > 0 then
Response.Write " value='" & falt(8) & "'>"
ELSE
Response.Write ">"
END IF%>
</td>
</tr>
<tr>
<td colspan="2"><input type="submit" name="Submit2" value="Skicka beställning >>" style="background: #cccccc; border: #D27899 1px solid; font-family: verdana; font-size: 10px"></td>
</tr>
<%IF Len(Session("webshopfel")) > 0 then%>
<tr>
<td colspan="2"><%=Session("webshopfel")%></td>
</tr>
<%Session("webshopfel") = ""
ELSEIF Len(Request("skickad")) > 0 then%>
<tr>
<td>
<%Response.Write "Nu är din beställning skickad!"%>
</td>
</tr>
<%END IF%>
</table>
</form>
</tr>
<%ELSE%>
[b]<%IF Request("skickad") = "ja" then %>[/b]
<tr>
<td colspan="5"><strong><font size="1" face="Verdana, Arial, Helvetica, sans-serif"><br>
<span class="Rubrik2">Din beställning är nu skickad!</span><br>
<br>
</font></strong><font size="1" face="Verdana, Arial, Helvetica, sans-serif"><strong>P.g.a
av hög orderingång, har vi svårt att
hinna med att kolla brevfrakter resp packa ordrar i veckodagarna.
Så vi har nu bestämt att alla nya eller betalda
ordrar packas och ses över under helgerna</strong>.<br>
<br>
Mvh Jimmy & Maria Thörnqvist</font></td>
</tr>
<%ELSE%>
<tr>
<td colspan="5" class="Rubrik2"><strong><font size="1">Det
finns inga produkter i din kundvagn ännu!</font></strong></td>
</tr>
<%END IF
END IF%>
forts nedan....
jimboMedlem sedan feb. 2003185 inlägg del II
order.asp längst ner där ska man få till det:
<%
Response.Buffer = true
namn = Request.Form("namn")
adress = Request.Form("adress")
postnr1 = Request.Form("postnr1")
postnr2 = Request.Form("postnr2")
padress = Request.Form("postadress")
tfn1 = Request.Form("tfn1")
tfn2 = Request.Form("tfn2")
epost = Request.Form("epost")
ovrigt = Request.Form("ovrigt")
info = Array(namn,adress,postnr1,postnr2,padress,tfn1,tfn2,epost,ovrigt)
info2 = ""
For i = 0 to 8
info2 = info2 & info(i)
IF Not i = 8 then
info2 = info2 & "|"
END IF
Next
For i = 0 to 7
IF NOT len(info(i)) <> 0 then
Session("webshopfel") = "Du glömde att fylla i något fält"
session("falt") = info2
Response.Redirect Request.ServerVariables("HTTP_REFERER")
END IF
Next
IF len(info(2)) > 5 then
Session("webshopfel") = "Felaktigt postnummer"
Session("falt") = info2
Response.Redirect Request.ServerVariables("HTTP_REFERER")
END IF
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" &Server.MapPath("webshop.mdb")
Session.Lcid = 1053
varde = Request.Cookies(""& Session.SessionID &"")
hamta = Split(varde,"&")
ReDim MyArray(4,Ubound(hamta))
for x = 0 to ubound(hamta)
hamta2 = Split(hamta(x),"=")
IF Len(hamta2(0)) > 0 AND len(hamta2(1)) > 0 then
SQL = "SELECT * FROM produkter WHERE id =" & int(hamta2(0))
Set RecSet = Connect.Execute(SQL)
MyArray(0,x) = hamta2(0)
MyArray(1,x) = hamta2(1)
MyArray(2,x) = RecSet("artnr")
MyArray(3,x) = RecSet("namn")
MyArray(4,x) = RecSet("pris")
RecSet.Close
Set RecSet = nothing
END IF
next
Set jmail = Server.CreateObject("JMail.Message")
jmail.AddRecipient ""& eposten &"", ""& eposten &""
jmail.From = "" & info(7) & ""
jmail.Subject = "Beställning"
jmail.appendHTML "<font face=verdana size=1>"
For i = 0 To Ubound(myArray,2)
IF Len(MyArray(0,i)) > 0 then
jmail.appendHTML "<b>Art.nr: </b>" & MyArray(2,i) & "<br>"
jmail.AppendHTML "<b>Produkt: </b>" & MyArray(3,i) & "<br>"
jmail.AppendHTML "<b>Antal: </b>" & MyArray(1,i) & "<br>"
jmail.AppendHTML "-------------------------------------------<br>"
IF i = Ubound(myArray,2) then
jmail.AppendHTML " <br>"
END IF
END IF
Next
jmail.appendHTML "<b>Namn: </b>" & info(0) & "<br>"
jmail.appendHTML "<b>Adress: </b>" & info(1) & "<br>"
jmail.appendHTML "<b>Postnr: </b>" & info(2) & info(3) & "<br>"
jmail.appendHTML "<b>Postadress: </b>" & info(4) & "<br>"
jmail.appendHTML "<b>Telefonnummer: </b>" & info(5) & "-" & info(6) & "<br>"
jmail.appendHTML "<b>E-post: </b>" & info(7) & "<br>"
jmail.appendHTML "<b>Övrigt: </b>" & info(8) & "<br>"
jmail.appendHTML "<b>Skickat: </b>" & Now() & "<br>"
jmail.appendHTML "</font>"
jmail.Send(mailserver)
For Each nyckel in Request.Cookies(Session.SessionID)
Response.Cookies(Session.SessionID)(nyckel) = ""
Next
[b]sida = Request.ServerVariables("HTTP_REFERER") & "&skickad=ja"[/b]
Response.Redirect sida
%>
Så är det nu , och beställningarna kommer inte igenom. Blir förbryllad =)??
Mvh Jimmy
@ndersMedlem sedan juni 200032 969 inlägg Vad menar du med att beställningarna inte kommer igenom?
Ditt övre kodblock går inte att läsa, indenteringen luktar av halvruttna kadaver. Snälla, indentera ordentligt, så koden går att läsa.
I övrigt, jag kanske missförstår, men:
Response.redirect "default.asp?skickad=ja"
Bort med http_referer.
jimboMedlem sedan feb. 2003185 inlägg Ok sorry hur indenterar jag ordentligt då?
Tog väck http...
....For Each nyckel in Request.Cookies(Session.SessionID)
Response.Cookies(Session.SessionID)(nyckel) = ""
Next
sida = For Each nyckel in Request.Cookies(Session.SessionID)
Response.Cookies(Session.SessionID)(nyckel) = ""
Next
Response.redirect "default.asp?skickad=ja"
%>
kommer visst till startsidan men ingen order går igenom och kommer inte till meddelandeavsnittet att order e igenom?
@ndersMedlem sedan juni 200032 969 inlägg http://www.webforum.nu/showthread.php?p=1104454#post1104454
När du har indenterat koden finns en chans att se varför inte du kommer till rätt ställe i koden (utan att börja grina vill säga.).
Fortfarande; vad menar du med att ingen order kommer igenom???
jimboMedlem sedan feb. 2003185 inlägg Ok mycket har man att lära.
Beställningarna från shopen går iväg nu till mig, MEN man kommer ju inte till avsnittet där meddelandet om att beställningen har gått iväg skrivs...?
Har lagt det i fetstil vad jag menar
[LEFT]<td colspan="2"><input type="submit" name="Submit2" value="Skicka beställning >>" style="background: #cccccc; border: #D27899 1px solid; font-family: verdana; font-size: 10px"></td>
</tr>
<%IF Len(Session("webshopfel")) > 0 then%>
<tr>
<td colspan="2"><%=Session("webshopfel")%></td>
</tr>
<%Session("webshopfel") = "ELSEIF Len(Request("skickad")) > 0 then%>
<tr>
<td>
<%Response.Write "Nu är din beställning skickad!"%>
</td>
</tr>
<%END IF%>
</table>
</form>
</tr>
<%ELSE%>
<%IF Request("skickad") = "ja" then %> [b] Hit ska man ju skickas, efter att ha skickat ordern[/b]
<tr>
<td colspan="5"><strong><font size="1" face="Verdana, Arial, Helvetica, sans-serif"><br>
<span class="Rubrik2">Din beställning är nu skickad!</span><br>
<br>
</font></strong><font size="1" face="Verdana, Arial, Helvetica, sans-serif"><strong>P.g.a
av hög orderingång, har vi svårt att
hinna med att kolla brevfrakter resp packa ordrar i veckodagarna.
Så vi har nu bestämt att alla nya eller betalda
ordrar packas och ses över under helgerna</strong>.<br>
<br>
Mvh Jimmy & Maria Thörnqvist</font></td>
</tr>
<%ELSE%>
<tr>
<td colspan="5" class="Rubrik2"><strong><font size="1">Det
finns inga produkter i din kundvagn ännu!</font></strong></td>
</tr>
<%END IF
END IF%>[/LEFT]
@ndersMedlem sedan juni 200032 969 inlägg Som jag skrev tidigare, med indentering av koden kommer det vara lättare att se vad som är fel.
Jag tycker den här raden ser konstig ut:
<%Session("webshopfel") = "ELSEIF Len(Request("skickad")) > 0 then%>
Du borde få ett ordentligt felmeddelande av den raden??? Borde väl kanske se ut så här:
<%Session("webshopfel") = ""
ELSEIF Len(Request("skickad")) > 0 then%>
Du har dessutom två block som meddelar att beställningen blivit skickad, varav det ena ligger inne i fel-blocket? Vad har du tänkt med det? Ska den övre elseif-delen verkligen vara med?
jimboMedlem sedan feb. 2003185 inlägg Ja du Anders som ja sa innan så är det Joakim på joakimweb.se som kodat den i orginal så jag vet inte hur han har tänkt.
Har med sett att det finns 2 block som meddelar att det kan va fel, fattar inte heller innebörden av det.
Är som sagt inte så superhaj än på asp, men man lär ju så länge man lever..
Det skickas inga ordrar längre till mig från shopen, hade fel innan.
Har dock laddat upp 2 filer som är aktuella, du kan ju kika kanske blir lättare då:
http://member.webforum.nu/5060/filer.zip
@ndersMedlem sedan juni 200032 969 inlägg Om du kan berätta för mig till vilken if-sats else på rad 724 i default.asp tillhör så går det säkert att lösa.
Men eftersom koden inte är indenterad är det mer eller mindre omöjligt att reda ut.
jimboMedlem sedan feb. 2003185 inlägg Hmm ja du där finns ju lite att välja imellan.
Kan inte det ha koppling till order.asp då eller det funkar inte så?
@ndersMedlem sedan juni 200032 969 inlägg Vad menar du med "koppling till order.asp"?
jimboMedlem sedan feb. 2003185 inlägg Att kommandot i default är kopplat till order o vise versa