webForumDet fria alternativet

"Response object error 'ASP 0158 : 80004005'??

28 svar · 1 389 visningar · startad av jimbo

jimboMedlem sedan feb. 2003185 inlägg
#1

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">&nbsp;
                              <td><input type="submit" name="Submit" value="L&auml;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
#2

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
#3

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
#4

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
#5

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
#6

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
#7

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
#8

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
#9

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&auml;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>&Ouml;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&auml;llning &gt;&gt;" 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&ouml;g ordering&aring;ng, har vi sv&aring;rt att 
                        hinna med att kolla brevfrakter resp packa ordrar i veckodagarna. 
                        S&aring; vi har nu best&auml;mt att alla nya eller betalda 
                        ordrar packas och ses &ouml;ver under helgerna</strong>.<br>
                        <br>
                        Mvh Jimmy &amp; Maria Th&ouml;rnqvist</font></td>
                    </tr>
                    <%ELSE%>
                    <tr> 
                      <td colspan="5" class="Rubrik2"><strong><font size="1">Det 
                        finns inga produkter i din kundvagn &auml;nnu!</font></strong></td>
                    </tr>
                    <%END IF
					END IF%>

forts nedan....

jimboMedlem sedan feb. 2003185 inlägg
#10

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 "&nbsp;<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
#11

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
#12

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
#13

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
#14

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&auml;llning &gt;&gt;" 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&ouml;g ordering&aring;ng, har vi sv&aring;rt att 
 hinna med att kolla brevfrakter resp packa ordrar i veckodagarna. 
 S&aring; vi har nu best&auml;mt att alla nya eller betalda 
 ordrar packas och ses &ouml;ver under helgerna</strong>.<br>
                        <br>
                        Mvh Jimmy &amp; Maria Th&ouml;rnqvist</font></td>
                    </tr>
                    <%ELSE%>
                    <tr> 
                      <td colspan="5" class="Rubrik2"><strong><font size="1">Det 
                        finns inga produkter i din kundvagn &auml;nnu!</font></strong></td>
                    </tr>
                    <%END IF
	END IF%>[/LEFT]
@ndersMedlem sedan juni 200032 969 inlägg
#15

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
#16

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
#17

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
#18

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
#19

Vad menar du med "koppling till order.asp"?

jimboMedlem sedan feb. 2003185 inlägg
#20

Att kommandot i default är kopplat till order o vise versa

152 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
150 ms — hämta tråd, inlägg och bilagor (db)