Author |
Topic |
|
go4gold
VP-CART New User
151 Posts |
Posted - May 01 2007 : 14:27:51
|
Hi, I really hope someone can help me here as half my (modest) visitors are leaving from shopexd.asp page which seems to display the error message "catalogid is missing for extended description".
I don't understand how they are getting to this page and message in the first place so I have no idea how to try and correct it. Can anyone help me please?
In case it helps, a link is below:
http://myfavouritepubwalks.co.uk/shopping/shoperror.asp
Thanks folks!
Go4Gold |
|
seeker1
VP-CART New User
Australia
114 Posts |
Posted - May 01 2007 : 16:26:55
|
The message means that there is no product catalogid being passed to shopexd.asp.
Shopexd.asp normally requires one parameter which says which product to display. To display product with catalogid 84 use shopexd.asp?id=84
When the id= is missing, you will get message "catalogid is missing for extended description".
This normally occurs when a template has been created without passing the catalogid. A normal template would have
<a href="shopexd.asp?id=[catalogid]">More Details</a>
If the id=[catalogid] is missing the error occurs.
Howard Kadetz www.hkprog.com VP-ASP addons and customizations |
|
|
devshb
Senior Member
United Kingdom
1904 Posts |
Posted - May 01 2007 : 16:35:05
|
it's also a sign of hackers trying to test the system, where the hackers are being redirected because they're using an invalid id. If the hacker gets that message then it's good news for you, because it means that their attempted hack hasn't worked.
Simon Barnaby Developer [email protected] www.BigYellowZone.com Web Design, Online Marketing and VPASP addons |
|
|
go4gold
VP-CART New User
151 Posts |
Posted - May 01 2007 : 16:53:19
|
Sorry I can't see a line like that in the shopexd.asp file, I think it must just be me! The fle only has the following in it:
<%Option Explicit%> <!--#include file="shop$db.asp"--> <!--#include file="shopfileio.asp"--> <!--#include file="shopproductfeatures.asp"--> <!--#include file="shopconvertcurrency.asp"--> <!--#include file="shopcustomerprices.asp"--> <!--#include file="shopproductinventory.asp"--> <!--#include file="shopalsobought.asp"--> <% '********************************************************************************** ' Version 6.00 Automatic Extended Description ' shopexd.asp?id=xx ' xx = catalogid ' The template to be used is is xproducttemplate of a specific template for ' the product in the database ' July 4, 2004 Add dynamic header ' July 2, 2005 Inventory Products ' July 7, 2005 Also Bought ' August 9, 2005 add inventoryoutofstock '********************************************************************************* Dim CatalogId dim ccode Dim tmpRS Dim template dim dbc dim rc Dim InventoryCheck, InventoryPriceDisplay, inventoryoutofstock setSess "CurrentURL","shopexd.asp" InitializeSystem Catalogid=request("id") if not isnumeric(catalogid) then catalogid="" end if ccode=request("ccode") If ccode<>"" then ccode=replace(ccode,"'","") end if if catalogId="" and ccode="" then catalogid=getsess("shopexdid") if catalogid="" then Serror=getlang("LangNoCatalogId") HandleError end if end if Setsess "shopexdid",catalogid ShopOpendatabaseP dbc WriteImpressions setupdynamicproduct dbc, catalogid OpenRecordSet tmpRS GetTemplate If Template="" then Serror=getlang("LangExdNoTemplate") HandleError end if ' see if this product has sub products 'Inventorycheck=false ' no sub products 'InventoryPriceDisplay=true ' display prices with sub products 'InventoryProductYesNo dbc, tmpRS, catalogid, inventorycheck, Inventorypricedisplay, inventoryquantitydisplay, inventoryoutofstock ' ShopTemplateWrite template, tmpRS, rc tmpRS.close set tmpRS=nothing Shopclosedatabase dbc 'Finished
Sub HandleError on error resume next tmpRS.close set tmpRS=nothing Shopclosedatabase dbc shoperror sError end sub ' Sub OpenRecordSet (RS) If catalogid<>"" then Sql="select * from products where catalogid=" & catalogid else sql="select * from products where ccode='" & ccode & "'" end if Set rs=dbc.execute(sql) If rs.eof then Serror = SError & getlang("LangReadFail") & " " & catalogid HandleError end if end sub ' Sub GetTemplate on error resume next dim suffix Template="" template=request("template") if template<>"" then suffix=right(template,3) if lcase(suffix)="htm" then exit sub end if end if
'VP-ASP 6.09 - problem with incorrect template occasionally being used Template=getconfig("xProductTemplate") If isNull(tmpRS("template")) then If tmprs("hassubproduct") = "Yes" Then template=getconfig("xproducttemplateinvent") Else Template=getconfig("xProductTemplate") End if else template=tmprs("template") end If
End sub
Sub WriteImpressions if Catalogid <> "" then 'increment products impressions dbc.execute("UPDATE products SET impressions = impressions + 1 WHERE catalogid = " & catalogid) End If End Sub %>
Sorry to be dense but I'm paranoid of wrecking my site if I use trial and error to find the problem!
Many thanks,
Go4Gold |
|
|
Happy
VP-CART New User
90 Posts |
Posted - May 02 2007 : 16:14:04
|
Is your entire site in http:// or is there a change to SSL at any point? If latter, at which page do you change it to SSL?
Thanks, Happy |
|
|
apswater
VP-CART Super User
444 Posts |
Posted - May 02 2007 : 20:39:03
|
Those are most likely serach engine robot hits. I get them all the time on my site too. What I did to figure out what was going on was to put an e-mail snipit in the shoperror.asp that captures the server variable and sends me all the info on error....
I found that I get a few typical errors.
Shopping Cart Empty - even though I dont have a link to the shopping cart or checkout unless you have something in the cart...
Cant read file #
and the one you are getting catalogid is missing for extended description
All of these only come from robots and never from people.
here is the e-mail code I used, I have 4.5 so you will have to figure placement out on newer versions.
I have this in quite a few places on my site so I could see I didn't have problems to begin with.
<%
If pos=0 then Response.write sError <---- find where you display the errors end if Response.write "</b><font size=2 color=black><br><br><a href=" & home & ">" & LangCommonHome & "</a>"
'Add this e-mail alert
Dim objMail, wherefrom dim mymail, var2 Set myMail=CreateObject("CDO.Message") myMail.Subject="Alert : " & what & " : " & who & " : " & lmsg & " on " & site1 myMail.From="YourEmaladdress@..."" myMail.To="YourEmaladdress@..."
VAR2 = "Alert : " & lmsg & " on " & site1 & " - " & what & " : " &who & "<br>" & "referer : <a href=" & Request.ServerVariables(http_referrer) & ">" & Request.ServerVariables(http_referrer) & "</a><HR>"
Dim x For Each x in Request.ServerVariables var2=var2 & x + ": " + Request.ServerVariables(x) + "<br />" & "<HR SIZE-1 COLOR=BLACK>" Next
myMail.htmlBody=VAR2 myMail.Send set myMail=nothing %>
my site is at http://www.apswater.com |
Edited by - apswater on May 02 2007 20:43:58 |
|
|
seeker1
VP-CART New User
Australia
114 Posts |
Posted - May 02 2007 : 21:24:20
|
In a similar vain to trapping shoperror.asp, I discovered that search engine bots can cause HTTP 500 errors potentially stopping their indexing of your site. This is not limited to VP-ASP but any ASP application.
To trap these I developed Site Error Alert which is a generic application that can be used on any site.
It provides:
1. Full logging of what, when and why the event occurred to a file. 2. Emailing to site own/web master the full details of the event. 3. If it really was a program error, not a bot, it can provide a form for customer to notify you that something went wrong in your site/shop. You pick what information you want to collect. 4. Traps real errors when a customer is using VP-ASP or any ASP application.
For details go to: www.hkprog.com/sea500
Howard Kadetz www.hkprog.com [email protected]
PS You do not need to have your own Server. Web Hosting companies such as Alentus allow you to easily install Site Error Alert yourself by simply copying it to a folder on your site. |
Edited by - seeker1 on May 02 2007 22:14:20 |
|
|
apswater
VP-CART Super User
444 Posts |
Posted - May 02 2007 : 21:38:02
|
yes, you do get quite a tew 500 errors..
I trap those thesame way.. made a custom error page and pointed the server to it. Of course, you have to host your own stuff to use it.
Another good program I found and use is http://www.weblogexpert.com/ It doesnt track ip's to errors, but it does give you a ton on info about your site. |
|
|
ironhawker
VP-CART Super User
USA
260 Posts |
Posted - April 14 2009 : 02:32:26
|
Make sure your link includes the "id=" <a href="shopexd.asp?id=[catalogid]">More Info</a>
~-~-~-~-~-~-~-~-~-~ Randy "RC" Corn Institute for Higher Learning [email protected] http://www.ironhawker.com 425-828-0738 |
|
|
devshb
Senior Member
United Kingdom
1904 Posts |
Posted - April 14 2009 : 03:42:10
|
Also, if you have a product summary template (eg tmp_topsellers.htm) and you change a link in it from "shopquery.asp" to "shopexd.asp", then make sure you change the argument from "catalogid" to "id", ie:
use:
shopquery.asp?catalogid=[catalogid]
or:
shopexd.asp?id=[catalogid]
but don't use: shopexd.asp?catalogid=[catalogid]
Simon Barnaby Developer [email protected] www.BigYellowZone.com Web Design, Online Marketing and VPASP addons |
|
|
|
Topic |
|