chrometweaks.org

Jayesh roonwal's home page in yahoo iPage?

Click Here To View All Answers...


My 1st question is: Jayesh roonwal's home page in yahoo iPage? Hoping for any response. Another question I got... Hello.

I have installed Oscommerce 2.2RC1 on localhost..

When I get to the order confirmation page - instead of showing the customers billing and delivery address I get the following error :.

Warning: htmlspecialchars() expects parameter 1 to be string, array given in W:\www\mydomainco.uk\includes\functions\general.php on line 46.

General.php code is.

Function tep_parse_input_field_data($data, $parse) {.

Return strtr(trim($data), $parse);.

}.

Function tep_output_string($string, $translate = false, $protected = false) {.

If ($protected == true) {.

Return htmlspecialchars($string);.

} else {.

If ($translate == false) {.

Return tep_parse_input_field_data($string, array('"' => '"'));.

} else {.

Return tep_parse_input_field_data($string, $translate);.

}.

}.

}.

Line 46 is "return htmlspecialchars($string);".

I have already searched the forum and found a suggestion to change the "true" in "if ($protected == true) {.

" to false..

This took away the error but did not display the customers delivery or billing address.

Can anyone please help.

Many Thanks ... Dennis..

Comments (16)

I'm stumped. I'm not so sure what is the right answer to your question. I'll do some investigation and get back to you if I find an answer. You should email the people at iPage as they probably can answer it..

Comment #1

Thanks for your reply Adam.

Do I place your code in the file checkout_conformation.php file?.

If so, will doing that eliminate the error or do I have to do something else to eliminate it ? .

Thanks ... Dennis..

Comment #2

Hi Adam.

Just checked the code in checkout_conformation.php and the code you suggested is already there.

..

Should I be looking else ware ? .

Thanks ... Dennis..

Comment #3

Dennis, can you post your 'checkout_confirmation.php' page here? Wrap the entire post in a [ code ] [ /code ] (remove the spaces) so that the code's formatting it kept intact. I will look over the code and advise you on any modification needed...

Comment #4

Hi Adam.

Code for checkout_confirmation.php as requested.

[ code ]<?php.

/*.

$Id: checkout_confirmation.php 1739 2007-12-20 00:52:16Z hpdl $.

OsCommerce, Open Source E-Commerce Solutions.

[url="http://www.oscommerce.com"]http://www.oscommerce.com[/url].

Copyright © 2003 osCommerce.

Released under the GNU General Public License.

*/.

Require('includes/application_top.php');.

// if the customer is not logged on, redirect them to the login page.

If (!tep_session_is_registered('customer_id')) {.

$navigation->set_snapshot(array('mode' => 'SSL', 'page' => FILENAME_CHECKOUT_PAYMENT));.

Tep_redirect(tep_href_link(FILENAME_LOGIN, '', 'SSL'));.

}.

// if there is nothing in the customers cart, redirect them to the shopping cart page.

If ($cart->count_contents() < 1) {.

Tep_redirect(tep_href_link(FILENAME_SHOPPING_CART));.

}.

// avoid hack attempts during the checkout procedure by checking the internal cartID.

If (isset($cart->cartID) && tep_session_is_registered('cartID')) {.

If ($cart->cartID != $cartID) {.

Tep_redirect(tep_href_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL'));.

}.

}.

// if no shipping method has been selected, redirect the customer to the shipping method selection page.

If (!tep_session_is_registered('shipping')) {.

Tep_redirect(tep_href_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL'));.

}.

If (!tep_session_is_registered('payment')) tep_session_register('payment');.

If (isset($HTTP_POST_VARS['payment'])) $payment = $HTTP_POST_VARS['payment'];.

If (!tep_session_is_registered('comments')) tep_session_register('comments');.

If (tep_not_null($HTTP_POST_VARS['comments'])) {.

$comments = tep_db_prepare_input($HTTP_POST_VARS['comments']);.

}.

// load the selected payment module.

Require(DIR_WS_CLASSES'payment.php');.

$payment_modules = new payment($payment);.

Require(DIR_WS_CLASSES'order.php');.

$order = new order;.

$payment_modules->update_status();.

If ( ( is_array($payment_modules->modules) && (sizeof($payment_modules->modules) > 1) && !is_object($$payment) ) || (is_object($$payment) && ($$payment->enabled == false)) ) {.

Tep_redirect(tep_href_link(FILENAME_CHECKOUT_PAYMENT, 'error_message='urlencode(ERROR_NO_PAYMENT_MODULE_SELECTED), 'SSL'));.

}.

If (is_array($payment_modules->modules)) {.

$payment_modules->pre_confirmation_check();.

}.

// load the selected shipping module.

Require(DIR_WS_CLASSES'shipping.php');.

$shipping_modules = new shipping($shipping);.

Require(DIR_WS_CLASSES'order_total.php');.

$order_total_modules = new order_total;.

$order_total_modules->process();.

// Stock Check.

$any_out_of_stock = false;.

If (STOCK_CHECK == 'true') {.

For ($i=0, $n=sizeof($order->products); $i<$n; $i++) {.

If (tep_check_stock($order->products[$i]['id'], $order->products[$i]['qty'])) {.

$any_out_of_stock = true;.

}.

}.

// Out of Stock.

If ( (STOCK_ALLOW_CHECKOUT != 'true') && ($any_out_of_stock == true) ) {.

Tep_redirect(tep_href_link(FILENAME_SHOPPING_CART));.

}.

}.

Require(DIR_WS_LANGUAGES$language'/'FILENAME_CHECKOUT_CONFIRMATION);.

$breadcrumb->add(NAVBAR_TITLE_1, tep_href_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL'));.

$breadcrumb->add(NAVBAR_TITLE_2);.

?>.

<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">.

<html <?php echo HTML_PARAMS; ?>>.

<head>.

<meta http-equiv="Content-Type" content="text/html; charset=<?php echo CHARSET; ?>">.

<title><?php echo TITLE; ?></title>.

<base href="<?php echo (($request_type == 'SSL') ? HTTPS_SERVER : HTTP_SERVER)DIR_WS_CATALOG; ?>">.

<link rel="stylesheet" type="text/css" href="stylesheet.css">.

</head>.

<body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0">.

<! header //>.

<?php require(DIR_WS_INCLUDES'header.php'); ?>.

<! header_eof //>.

<! body //>.

<table border="0" width="100%" cellspacing="3" cellpadding="3">.

<tr>.

<td width="<?php echo BOX_WIDTH; ?>" valign="top"><table border="0" width="<?php echo BOX_WIDTH; ?>" cellspacing="0" cellpadding="2">.

<! left_navigation //>.

<?php require(DIR_WS_INCLUDES'column_left.php'); ?>.

<! left_navigation_eof //>.

</table></td>.

<! body_text //>.

<td width="100%" valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="0">.

<tr>.

<td>.

<?php.

If (isset($$payment->form_action_url)) {.

$form_action_url = $$payment->form_action_url;.

} else {.

$form_action_url = tep_href_link(FILENAME_CHECKOUT_PROCESS, '', 'SSL');.

}.

Echo tep_draw_form('checkout_confirmation', $form_action_url, 'post');.

?>.

<table border="0" width="100%" cellspacing="0" cellpadding="0">.

<tr>.

<td align="left"><?php echo tep_image(DIR_WS_IMAGES'infobox/content_corner_left.gif'); ?></td>.

<td width="95%"><h1><?php echo HEADING_TITLE; ?></h1></td>.

<td align="right"><?php echo tep_image(DIR_WS_IMAGES'infobox/content_corner_right.gif'); ?></td>.

<! <td class="pageHeading" align="right"><?php// echo tep_image(DIR_WS_IMAGES'table_background_confirmation.gif', HEADING_TITLE, HEADING_IMAGE_WIDTH, HEADING_IMAGE_HEIGHT); ?></td> >.

</tr>.

</table></td>.

</tr>.

<tr>.

<td><table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBox">.

<tr class="infoBoxContents">.

<?php.

If ($sendto != false) {.

?>.

<td width="30%" valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="2">.

<tr>.

<td class="main"><?php echo '<b>'HEADING_DELIVERY_ADDRESS'</b> <a href="'tep_href_link(FILENAME_CHECKOUT_SHIPPING_ADDRESS, '', 'SSL')'"><span class="orderEdit">('TEXT_EDIT')</span></a>'; ?></td>.

</tr>.

<tr>.

<td class="main"><?php echo tep_address_format($order->delivery['format_id'], $order->delivery, 1, ' ', '<br>'); ?></td>.

</tr>.

<?php.

If ($order->info['shipping_method']) {.

?>.

<tr>.

<td class="main"><?php echo '<b>'HEADING_SHIPPING_METHOD'</b> <a href="'tep_href_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL')'"><span class="orderEdit">('TEXT_EDIT')</span></a>'; ?></td>.

</tr>.

<tr>.

<td class="main"><?php echo $order->info['shipping_method']; ?></td>.

</tr>.

<?php.

}.

?>.

</table></td>.

<?php.

}.

?>.

<td width="<?php echo (($sendto != false) ? '70%' : '100%'); ?>" valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="0">.

<tr>.

<td><table border="0" width="100%" cellspacing="0" cellpadding="2">.

<?php.

If (sizeof($order->info['tax_groups']) > 1) {.

?>.

<tr>.

<td class="main" colspan="2"><?php echo '<b>'HEADING_PRODUCTS'</b> <a href="'tep_href_link(FILENAME_SHOPPING_CART)'"><span class="orderEdit">('TEXT_EDIT')</span></a>'; ?></td>.

<td class="smallText" align="right"><b><?php echo HEADING_TAX; ?></b></td>.

<td class="smallText" align="right"><b><?php echo HEADING_TOTAL; ?></b></td>.

</tr>.

<?php.

} else {.

?>.

<tr>.

<td class="main" colspan="3"><?php echo '<b>'HEADING_PRODUCTS'</b> <a href="'tep_href_link(FILENAME_SHOPPING_CART)'"><span class="orderEdit">('TEXT_EDIT')</span></a>'; ?></td>.

</tr>.

<?php.

}.

For ($i=0, $n=sizeof($order->products); $i<$n; $i++) {.

Echo ' <tr>'"\n" ..

' <td class="main" align="right" valign="top" width="30">'$order->products[$i]['qty']'&nbsp;x</td>'"\n" ..

' <td class="main" valign="top">'$order->products[$i]['name'];.

If (STOCK_CHECK == 'true') {.

Echo tep_check_stock($order->products[$i]['id'], $order->products[$i]['qty']);.

}.

If ( (isset($order->products[$i]['attributes'])) && (sizeof($order->products[$i]['attributes']) > 0) ) {.

For ($j=0, $n2=sizeof($order->products[$i]['attributes']); $j<$n2; $j++) {.

Echo '<br><nobr><small>&nbsp;<i> - '$order->products[$i]['attributes'][$j]['option']': '$order->products[$i]['attributes'][$j]['value']'</i></small></nobr>';.

}.

}.

Echo '</td>'"\n";.

If (sizeof($order->info['tax_groups']) > 1) echo ' <td class="main" valign="top" align="right">'tep_display_tax_value($order->products[$i]['tax'])'%</td>'"\n";.

Echo ' <td class="main" align="right" valign="top">'$currencies->display_price($order->products[$i]['final_price'], $order->products[$i]['tax'], $order->products[$i]['qty'])'</td>'"\n" ..

' </tr>'"\n";.

}.

?>.

</table></td>.

</tr>.

</table></td>.

</tr>.

</table></td>.

</tr>.

<tr>.

<td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>.

</tr>.

<tr>.

<td class="main"><b><?php echo HEADING_BILLING_INFORMATION; ?></b></td>.

</tr>.

<tr>.

<td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>.

</tr>.

<tr>.

<td><table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBox">.

<tr class="infoBoxContents">.

<td width="30%" valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="2">.

<tr>.

<td class="main"><?php echo '<b>'HEADING_BILLING_ADDRESS'</b> <a href="'tep_href_link(FILENAME_CHECKOUT_PAYMENT_ADDRESS, '', 'SSL')'"><span class="orderEdit">('TEXT_EDIT')</span></a>'; ?></td>.

</tr>.

<tr>.

<td class="main"><?php echo tep_address_format($order->billing['format_id'], $order->billing, 1, ' ', '<br>'); ?></td>.

</tr>.

<tr>.

<td class="main"><?php echo '<b>'HEADING_PAYMENT_METHOD'</b> <a href="'tep_href_link(FILENAME_CHECKOUT_PAYMENT, '', 'SSL')'"><span class="orderEdit">('TEXT_EDIT')</span></a>'; ?></td>.

</tr>.

<tr>.

<td class="main"><?php echo $order->info['payment_method']; ?></td>.

</tr>.

</table></td>.

<td width="70%" valign="top" align="right"><table border="0" cellspacing="0" cellpadding="2">.

<?php.

If (MODULE_ORDER_TOTAL_INSTALLED) {.

Echo $order_total_modules->output();.

}.

?>.

</table></td>.

</tr>.

</table></td>.

</tr>.

<?php.

If (is_array($payment_modules->modules)) {.

If ($confirmation = $payment_modules->confirmation()) {.

?>.

<tr>.

<td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>.

</tr>.

<tr>.

<td class="main"><b><?php echo HEADING_PAYMENT_INFORMATION; ?></b></td>.

</tr>.

<tr>.

<td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>.

</tr>.

<tr>.

<td><table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBox">.

<tr class="infoBoxContents">.

<td><table border="0" cellspacing="0" cellpadding="2">.

<tr>.

<td class="main" colspan="4"><?php echo $confirmation['title']; ?></td>.

</tr>.

<?php.

For ($i=0, $n=sizeof($confirmation['fields']); $i<$n; $i++) {.

?>.

<tr>.

<td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>.

<td class="main"><?php echo $confirmation['fields'][$i]['title']; ?></td>.

<td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>.

<td class="main"><?php echo $confirmation['fields'][$i]['field']; ?></td>.

</tr>.

<?php.

}.

?>.

</table></td>.

</tr>.

</table></td>.

</tr>.

<?php.

}.

}.

?>.

<tr>.

<td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>.

</tr>.

<?php.

If (tep_not_null($order->info['comments'])) {.

?>.

<tr>.

<td class="main"><?php echo '<b>'HEADING_ORDER_COMMENTS'</b> <a href="'tep_href_link(FILENAME_CHECKOUT_PAYMENT, '', 'SSL')'"><span class="orderEdit">('TEXT_EDIT')</span></a>'; ?></td>.

</tr>.

<tr>.

<td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>.

</tr>.

<tr>.

<td><table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBox">.

<tr class="infoBoxContents">.

<td><table border="0" width="100%" cellspacing="0" cellpadding="2">.

<tr>.

<td class="main"><?php echo nl2br(tep_output_string_protected($order->info['comments']))tep_draw_hidden_field('comments', $order->info['comments']); ?></td>.

</tr>.

</table></td>.

</tr>.

</table></td>.

</tr>.

<tr>.

<td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>.

</tr>.

<?php.

}.

?>.

<tr>.

<td><table border="0" width="100%" cellspacing="0" cellpadding="0">.

<tr>.

<td align="right" class="main">.

<?php.

If (is_array($payment_modules->modules)) {.

Echo $payment_modules->process_button();.

}.

Echo tep_image_submit('button_confirm_order.gif', IMAGE_BUTTON_CONFIRM_ORDER)"\n";.

?>.

</td>.

</tr>.

</table></td>.

</tr>.

<tr>.

<td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>.

</tr>.

<tr>.

<td><table border="0" width="100%" cellspacing="0" cellpadding="0">.

<tr>.

<td width="25%"><table border="0" width="100%" cellspacing="0" cellpadding="0">.

<tr>.

<td width="50%" align="right"><?php echo tep_draw_separator('pixel_silver.gif', '1', '5'); ?></td>.

<td width="50%"><?php echo tep_draw_separator('pixel_silver.gif', '100%', '1'); ?></td>.

</tr>.

</table></td>.

<td width="25%"><?php echo tep_draw_separator('pixel_silver.gif', '100%', '1'); ?></td>.

<td width="25%"><table border="0" width="100%" cellspacing="0" cellpadding="0">.

<tr>.

<td width="50%"><?php echo tep_draw_separator('pixel_silver.gif', '100%', '1'); ?></td>.

<td><?php echo tep_image(DIR_WS_IMAGES'checkout_bullet.gif'); ?></td>.

<td width="50%"><?php echo tep_draw_separator('pixel_silver.gif', '100%', '1'); ?></td>.

</tr>.

</table></td>.

<td width="25%"><table border="0" width="100%" cellspacing="0" cellpadding="0">.

<tr>.

<td width="50%"><?php echo tep_draw_separator('pixel_silver.gif', '100%', '1'); ?></td>.

<td width="50%"><?php echo tep_draw_separator('pixel_silver.gif', '1', '5'); ?></td>.

</tr>.

</table></td>.

</tr>.

<tr>.

<td align="center" width="25%" class="checkoutBarFrom"><?php echo '<a href="'tep_href_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL')'" class="checkoutBarFrom">'CHECKOUT_BAR_DELIVERY'</a>'; ?></td>.

<td align="center" width="25%" class="checkoutBarFrom"><?php echo '<a href="'tep_href_link(FILENAME_CHECKOUT_PAYMENT, '', 'SSL')'" class="checkoutBarFrom">'CHECKOUT_BAR_PAYMENT'</a>'; ?></td>.

<td align="center" width="25%" class="checkoutBarCurrent"><?php echo CHECKOUT_BAR_CONFIRMATION; ?></td>.

<td align="center" width="25%" class="checkoutBarTo"><?php echo CHECKOUT_BAR_FINISHED; ?></td>.

</tr>.

</table></td>.

</tr>.

</table></form></td>.

<! body_text_eof //>.

<td width="<?php echo BOX_WIDTH; ?>" valign="top"><table border="0" width="<?php echo BOX_WIDTH; ?>" cellspacing="0" cellpadding="2">.

<! right_navigation //>.

<?php require(DIR_WS_INCLUDES'column_right.php'); ?>.

<! right_navigation_eof //>.

</table></td>.

</tr>.

</table>.

<! body_eof //>.

<! footer //>.

<?php require(DIR_WS_INCLUDES'footer.php'); ?>.

<! footer_eof //>.

<br>.

</body>.

</html>.

<?php require(DIR_WS_INCLUDES'application_bottom.php'); ?> [ /code ].

Thanks ... Dennis..

Comment #5

Dennis, I must admit that I am fairly confused by this now. It would seem that the "tep_output_string()" function has nothing to do with the addresses or how they're called, so I can't exactly see why you're seeing that particular function error..

Have you modified any files or installed contributions?..

Comment #6

Hi Adam.

I have installed several contributions and I have now located what the problem is..

The last thing I did was to delete all the countries except United Kingdom from the data base..

I just restored them and everything looks like it is working - weird !!!.

Thank you so much for taking an interest in my problem..

Best Regards ... Dennis..

Comment #7

Aha! I'm glad to hear you resolved the problem...

Comment #8

Hello.

I have installed Oscommerce 2.2RC1 on localhost..

When I get to the order confirmation page - instead of showing the customers billing and delivery address I get the following error :.

Warning: htmlspecialchars() expects parameter 1 to be string, array given in W:\www\mydomainco.uk\includes\functions\general.php on line 46.

General.php code is.

Function tep_parse_input_field_data($data, $parse) {.

Return strtr(trim($data), $parse);.

}.

Function tep_output_string($string, $translate = false, $protected = false) {.

If ($protected == true) {.

Return htmlspecialchars($string);.

} else {.

If ($translate == false) {.

Return tep_parse_input_field_data($string, array('"' => '&quot;'));.

} else {.

Return tep_parse_input_field_data($string, $translate);.

}.

}.

}.

Line 46 is "return htmlspecialchars($string);".

I have already searched the forum and found a suggestion to change the "true" in "if ($protected == true) {.

" to false..

This took away the error but did not display the customers delivery or billing address.

Can anyone please help.

Many Thanks ... Dennis..

Comment #9

Dennis,.

In a standard install of osCommerce the only call to the "tep_output_string()" function on the checkout confirmation page is to output a customer's comments..

The calls to output the customer's delivery and billing address are:.

<?php echo tep_address_format($order->delivery['format_id'], $order->delivery, 1, ' ', '<br>'); ?>.

<?php echo tep_address_format($order->billing['format_id'], $order->billing, 1, ' ', '<br>'); ?>.

Try placing those where you want the delivery and billing addresses to echo out respectively...

Comment #10


This question was taken from a support group/message board and re-posted here so others can learn from it.