[ic] Buy Button Sending People To Error Page

Christopher VanOosterhout chris@vanoosterhout.com
Thu, 01 Mar 2001 11:29:28 -0500


I have reviewed the FAQs and docs for an answer to this ... but I just can 
not find it.

When I click on the buy button ... on the search results page included in 
the construct demo store my users get sent to an error page:

http://66.70.15.170/cgi-bin/westerbeke/expired.html with the following 
message on the page:
The requested item (expired) was not found. You can return to browsing our 
catalog, if you wish.

Here is the code for the page ... anyone have any ideas?

SOURCE CODE FOR RESULTS.HTML:::::
[comment]
ui_template: Yes
ui_template_name: leftright
[/comment]
[set bgcolor]#FFFFFF[/set]
[set component_right]promo_vertical[/set]
[set component_after]cross_horizontal[/set]
[set members_only]0[/set]
[set component_vsize]4[/set]
[set page_banner] [/set]
[set vbanner]Specials[/set]
[set component_hsize]2[/set]
[set hbanner]Also see...[/set]
[set component_before][/set]
[set hpromo_type]specials[/set]
[set page_title]__COMPANY__ -- Search results[/set]
[set vpromo_type]specials[/set]
@_LEFTRIGHT_TOP_@
<!-- BEGIN CONTENT -->
[if scratch did_order]
[include file="templates/components/cart_display"]
[/if]
[set did_order][/set]
[search-region]
[set munge_quantity]
[calc]
$Scratch->{did_order} = 1;
@q = split /\0/, $CGI->{mv_order_quantity};
for (@q) {
next unless length $_;
$_ = "=$_";
}
@parms = grep /^mv_oi\d+/ && $CGI->{$_}, keys %{$CGI};
# If we have parms, means an individual buy. If we don't
# we want to strip empty items
unless (@parms) {
@i = split "\0", $CGI->{mv_order_item};
for(my $i = 0; $i < @i; $i++) {
next if length($q[$i]);
$i[$i] = '';
}
@i = grep length($_), @i;
@q = grep length($_), @q;
$CGI_array->{mv_order_quantity} = \@q;
$CGI->{mv_order_quantity} = join "\0", @q;
$CGI_array->{mv_order_item} = \@i;
$CGI->{mv_order_item} = join "\0", @i;
return;
}
my $item = $parms[0];
$item =~ /(\d+)/ or return;
my $idx = $1;
$idx--;
$CGI->{mv_order_item} = $CGI->{$item};
$CGI->{mv_order_quantity} = "$q[$idx]";
return;
[/calc]
[bounce href="[history-scan exclude=nothing]"]
[/set]
[tmp cross_sale][value-extended name=mv_searchspec index=0][/tmp]
[on-match]
<FORM ACTION="[process-target]" METHOD=POST>
<INPUT TYPE=hidden NAME="mv_separate_items" VALUE="0">
<INPUT TYPE=hidden NAME="mv_click" VALUE="munge_quantity">
<INPUT TYPE=hidden NAME="mv_doit" VALUE="refresh">
[/on-match]
[search-list]
[item-change 1][condition][item-field category][/condition]
<table width="90%" border="0" cellspacing="0" cellpadding="0" bgcolor="red">
<tr>
<td width="10"><img src="navigation/minime1.gif" width="10" height="20" 
align="top"></td>
<td ><font __FFACE__ size="1"><b><i><font color="ffffff" 
size="2">[either][value banner_t
ext][or][item-field category][/either]</font></i></b></font></td>
<td width="10"><img src="navigation/minime2.gif" width="10" height="20" 
align="top"></td>
</tr>
</table>
<table width="90%" border="1" cellspacing="0" cellpadding="0" 
bordercolor="0099ff">
<tr bgcolor="ffffff" valign="middle">
<td>
<table border="0" cellspacing="2" cellpadding="3" bordercolor="#FFFFFF" 
align="center
" width="100%">
<tr>
<td width="100" align="center" bgcolor="0099ff"><font __FFACE__ size="1" 
color="#ffffff">
Product</font></td>
<td width="30" align="center" bgcolor="0099ff"><font __FFACE__ size="1" 
color="#ffffff">S
ku</font></td>
<td width="30" align="center" bgcolor="0099ff"><font __FFACE__ size="1" 
color="#ffffff">S
tock</font></td>
<td width="30" align="center" bgcolor="0099ff"><font __FFACE__ size="1" 
color="#ffffff">P
rice</font></td>
<td width="30" align="center" bgcolor="0099ff"><font __FFACE__ size="1" 
color="#ffffff">Q
ty</font></td>
<td width="30" align="center" bgcolor="0099ff"><font __FFACE__ size="1" 
color="#ffffff">B
uy</font></td>
</tr>
</table>
</td></tr>
</table>
[/item-change 1]
<table width="90%" border="1" cellspacing="0" cellpadding="0" 
bordercolor="0099ff">
<tr bgcolor="ffffff" valign="middle">
<td align=center height="5">
<div align="left">
<table border="0" cellspacing="0" cellpadding="3" bordercolor="#FFFFFF" 
align="center
" width="100%">
<INPUT TYPE=hidden NAME="mv_order_item" VALUE="[item-code]">
<tr>
<td valign="top" width="100"><a href="[area [item-code]]"><font __FFACE__ 
size="1
"><b>[item-description]</b></font></a></td>
<td valign="top" width="30"><font __FFACE__ size=
"1">[item-code]</font></td>
<td valign="top" width="30" align="center">[item-
calc]
my $q = q{[item-data inventory quantity]};
if($q > 0) {
return <<EOF;
<font __FFACE__ size="1" color="#008000"><b>Y</b></font>
EOF
}
else {
return <<EOF;
<a href="[area stock-alert [item-code]]"><font __FFACE__ size="1" 
color="#FF0000"><b>N</b></font></a>
EOF
}
[/item-calc]</td>
<td valign="top" width="30"><font __FFACE__ size=
"1">[item-price]</font></td>
<td valign=top width=30><input type=hidden name="
mv_oi[item-increment]" value=""><input type=text name=mv_order_quantity 
size=2 value=""></td>
<td valign=top width=30><FONT __FFACE__ size=2><i
nput type=submit value=BuyIt 
onClick="this.form.mv_oi[item-increment].value='[item-code]'"></font></td>


</tr>
</table>
<div align="center"><b><i></i></b></div>
</div>
</td>
</tr>
</table>
[/search-list]
[on-match]
<div align=right><INPUT TYPE=submit VALUE="Buy list">
</FORM>
[/on-match]
[no-match]
<BR><BR><BLOCKQUOTE>
<font __FFACE__ size="2">
Sorry, no matches for <B>[calc]
my $joiner = ' AND ';
$joiner = ' OR ' if
defined $Search->{''}->{mv_orsearch}[0]
and $Search->{''}->{mv_orsearch}[0];
my @str = grep /\D/, @{$Values->{mv_searchspec}};
return join $joiner, @str;
[/calc]
[if value mv_search_error]
<P><B>Errors:
<BR> [value-extended name=mv_search_error joiner="<BR>"]
</B>
[/if]
</font>
<BR><BR></BLOCKQUOTE>
[/no-match]
<font __FFACE__ size="2">
<BR CLEAR=LEFT>
[more-list]
</font>
<BLOCKQUOTE>
<font __FFACE__ size="2">
Matches [matches] of [match-count] found.
<BR>[more]<BR>
</font>
</BLOCKQUOTE>
[/more-list]
[/search-region]
<!-- END CONTENT -->
@_LEFTRIGHT_BOTTOM_@