[ic] Problems with multipage order.

Steven Potter interchange-users@interchange.redhat.com
Mon Jan 14 22:31:01 2002


I have a multi-page order setup and everything works great until I get 
to the last page.  I enter the credit card info, and then the last page 
just reloads.

Here are the lines from the profiles.order file:



__NAME__                            checkout2
mv_credit_card_valid=required Credit Card Fails Test.
&set=mv_payment Credit Card (%c)
&final=yes
__END__




and here is the HTML for the final page:






[comment]
ui_template: Yes
ui_template_name: noleft
[/comment]

[tmp page_title]__COMPANY__ -- Check Out Step 2[/tmp]

@_NOLEFT_TOP_@


     <FORM NAME="checkout2" ACTION="[process secure=1]" METHOD="POST">
     <input type="hidden" name="mv_session_id" value="[data session id]">
     <input type="hidden" name="mv_todo" value="submit">
     <input type="hidden" name="mv_order_profile" value="checkout2">
     <input type="hidden" name="mv_failpage" value="@@MV_PAGE@@">

     [if type=explicit compare="[error all=1 show_var=1 keep=1]"]
     <P>
	<B>There were errors in your last submission:<br>
	<blockquote>
	<FONT color="__CONTRAST__">
		[error all=1 keep=1 show_error=1 show_label=1 joiner="<br>"]
	</font>
	</blockquote>
	</p>
	<p>
     The areas you need to correct are shown in
     <FONT color="__CONTRAST__">this color</FONT> below.</B>
     </p>
     [/if]


<!-- BEGIN CONTENT -->

<table width="95%" border=1>
<tr>
   <td align="left" width="100%">

   <!-- Begin Cart -->

     <table align="center" border=1>
     <tr>
       <td align="center">
	Please verify the information below and click the <b>"Place
	Order"</b> button to process your order.
       </td>
     </tr>
     <tr>
       <td align="center" width="100%">
	<br>
	<table cellspacing="0" cellpadding="5" border="1" width="100%">
	<TR class="contentbar2">
	  <td class="contentbar2" align="center"><b>SKU</b></td>
	  <td class="contentbar2"><b>Description</b></td>
	  <td class="contentbar2"><b>Quantity</b></td>
	  <td class="contentbar2" align="center"><b>Price</b></td>
	  <td class="contentbar2"><b>Extension&nbsp;</b></td>
	</TR>
	<TBODY>

	[if items]
	[then]
	[item-list modular=1]

	<TR class="[item-alternate 
2]maincontent[else]contentbar1[/else][/item-alternate]">
	  <TD><b>[item-sku]</b></TD>
	  <TD>[page [item-sku]]<b>[item-data products description]</b></a>

	    [if scratch dealer]
	    [if-item-data pricing sku]
	      <BR>[page quantity [item-code]]
	      QUANTITY PRICING</A>
	    [/if-item-data]
	    [/if]

	[if-item-data options o_enable]
	    [if-item-data !options o_modular]
		[table-organize cols=4 table=' ' font="size=1" pretty=1]
		    [item-options td=1 label=1 bold=1 price=1]
		[/table-organize]
	    [/if-item-data]
	[/if-item-data]

	    [if-item-field weight]
	    [seti weight][summary amount=`[item-quantity] * [item-field 
weight]`][/seti]
	    [/if-item-field]
	  </TD>
	  <TD ALIGN=CENTER valign=top>
	    <b>[item-quantity]</b>
	  </TD>
	  <TD ALIGN=RIGHT>
	    [discount-price]
	    [if discount [item-code]]<BR>Item is discounted [item-discount][/if]
	  </TD>
	  <TD ALIGN=RIGHT>[item-subtotal]</TD>
	</TR>

	[/item-list]
	[/then]
	[/if]
	</table>
	<br>

	<table border="1" cellspacing="0" cellpadding="0" width="50%">
	<TR>
	   <td align="right">
	    <table align="center" cellspacing="0" border="1">
	    <tr>
	      <TD ALIGN=left class="contentbar1">Subtotal: </TD>
	      <TD ALIGN=RIGHT class="contentbar1">[subtotal]</TD>
	    </TR>
	    <TR>
	      <TD ALIGN=left class="contentbar1">Sales Tax:</TD>
	      <TD ALIGN=RIGHT class="contentbar1">[salestax]</TD>
	    </TR>
	    <TR>
	      <TD ALIGN=left class="contentbar1">Shipping:</TD>
	      <TD ALIGN=RIGHT class="contentbar1">[shipping]</TD>
	    </TR>
			[if value mv_handling]
	    <TR>
	      <TD ALIGN=left class="contentbar1">Handling:</TD>
	      <TD ALIGN=RIGHT class="contentbar1">[handling]</TD>
	    </TR>
			[/if]
	    <TR>
	      <TD ALIGN=left class="contentbar2">TOTAL:</TD>
	      <TD ALIGN=RIGHT class="contentbar2">[total-cost]</TD>
	    </tr>
	    </table>
	  </td>
	</tr>
	</table>

       </td>
     </tr>
<!-- End Cart -->

   <tr>
     <td>
<!-- Collect CC info -->
       <input type=hidden name=mv_order_profile value=credit_card>

       <p>&nbsp;</p>

       <!--- credit card information --->
       <table cellspacing=0 cellpadding="0" border=1>
       <tr>
	<td>
	  <table border=1 cellspacing=0 cellpadding=4 align=center>
	  <tr>
	    <td colspan="2" class="contentbar2">
	      <b>
	      [error std_label="Credit Card Information" name=mv_credit_card_valid]
	      [if variable MV_DEMO_MODE]
	      <BR>
	      (test number <A HREF="javascript:void 0" 
onclick="checkout.mv_credit_card_number.value='4111 1111 1111 1111'; 
return false;">4111 1111 1111 1111</A>)[/if]
	      </b>
	    </td>
	    <td class="contentbar2">
	      [calc]
		my $accepted = $Variable->{CREDIT_CARDS_ACCEPTED};
		my (@out);
		my (@cc);
		my $out;
		push @cc, 'visa' if $accepted =~ /visa/;
		push @cc, 'mc' if $accepted =~ /mc/;
		push @cc, 'disc' if $accepted =~ /discover/;
		push @cc, 'amex' if $accepted =~ /amex/;
		for (@cc) {
		  push @out, qq{<IMG SRC="small$_.png">};
		}
		return join '&nbsp;&nbsp;', @out;
	      [/calc]
	    </td>
	  </tr>
	  <tr>
	    <td align=right class="contentbar1">
	      <b>Card Number: </b>
	    </td>
	    <td align=right colspan=2 class="contentbar1">
	      <b><INPUT TYPE=text NAME=mv_credit_card_number SIZE=22></b>
	    </td>
	  </tr>
	  <tr>
	    <td align=right class="contentbar1">
	      <b>Expiration: </b>
	    </td>
	    <td align="right" colspan=2 class="contentbar1">

		<SELECT NAME=mv_credit_card_exp_month>
		[loop
			lr=1
			option=mv_credit_card_exp_month
			list="
1 
01 - January
2 
02 - February
3 
03 - March
4 
04 - April
5 
05 - May
6 
06 - June
7 
07 - July
8 
08 - August
9 
09 - September
10 
10 - October
11 
11 - November
12 
12 - December"]
		<OPTION VALUE="[loop-code]"> [loop-pos 1]
		[/loop]
		</SELECT>

		<SELECT NAME=mv_credit_card_exp_year>
		[comment]
		This should always return the current year as the first, then
		7 more years.
		[/comment]
		[loop option=mv_credit_card_exp_year lr=1 list=`
		my $year = $Tag->time( '', { format => '%Y' }, '%Y' );
		my $out = '';
		for ($year .. $year + 7) {
			/\d\d(\d\d)/;
			$last_two = $1;
			$out .= "$last_two\t$_\n";
		}
		return $out;
		`]

		<OPTION VALUE="[loop-code]"> [loop-pos 1]
		[/loop]
		</SELECT>
	      </td>
	    </tr>
	    </table>

	  </td>
	</tr>
	</table>

<!-- End CC info -->

     </td>
   </tr>

<!-- Start Next page -->
       </td>
     </tr>
     <tr><td>
       <br>
       <table align="center" cellpadding="10" cellspacing="10" border=1><tr>
	[if items]
       <td>
	  <input TYPE="submit" NAME="mv_click" VALUE="Next">
       </td>
       <td>
	 <input TYPE="submit" NAME="mv_click" VALUE="Recalculate">
       </td>
	[else]
		<td><b>No items in your shopping cart!</b></td>
	[/else]
	[/if]
       </tr></table>

       </form>
       [seti clear_errors][error all=1 hide=1 comment="Clear errors"][/seti]

     </td></tr>
     </table>

     <p>

     [include templates/components/specials]

   </td>
</tr>
</table>

<!-- END CONTENT -->


@_NOLEFT_BOTTOM_@


any help would be appreciated.

Thanks

Steven Potter