Xeoalpha Posted February 22, 2006 Posted February 22, 2006 Error is: Parse error: parse error, unexpected T_STRING, expecting ',' or ';' in /home/gbspotco/public_html/shop/product_info.php on line 204 This is line 206: <?php echo tep_draw_hidden_field('products_id', $product_info['products_id']) . tep_image_submit('button_in_cart.gif', IMAGE_BUTTON_BUY_NOW); ?> Im pretty new to PHP, can you please explain to me where is the missing , or ; ?
kgt Posted February 22, 2006 Posted February 22, 2006 Error is: Parse error: parse error, unexpected T_STRING, expecting ',' or ';' in /home/gbspotco/public_html/shop/product_info.php on line 204 This is line 206: <?php echo tep_draw_hidden_field('products_id', $product_info['products_id']) . tep_image_submit('button_in_cart.gif', IMAGE_BUTTON_BUY_NOW); ?> Im pretty new to PHP, can you please explain to me where is the missing , or ; ? So the parser says the error occurs on line 204, and you posted line 206? By the way, parse errors rarely occur on the line mentioned, due to the nature of a parse error. You'll want to look on line 203, and find you're probably missing a ;. Contributions Discount Coupon Codes Donations
Xeoalpha Posted February 22, 2006 Author Posted February 22, 2006 My apologies, I pasted 204 instead :) Not 206. I've selected a chuck of the code, is the error around here: <td width=11></td> <td width=274 valign=top> <table cellspacing=0 cellpadding=0> <tr><td> <table cellspacing=0 cellpadding=0> <tr><td class=ml3><?= $products_name; ?></td></tr> <tr><td height=1></td></tr> <tr><td height=10></td></tr> <tr><td height=5></td></tr> <tr><td><b>Item # :</b> <?= $products_id; ?></td></tr> <tr><td><b>Item price:</b> <span class=ni2><?php echo $products_price; ?></span></td></tr> <tr><td height=8></td></tr> </table> </td></tr> <tr><td height=10></td></tr> <tr><td><img src=images/ready.gif width=274 height=1></td></tr> <tr><td height=8></td></tr> <tr><td align=right><?php echo tep_draw_hidden_field('products_id', $product_info['products_id']) . tep_image_submit('button_in_cart.gif', IMAGE_BUTTON_BUY_NOW); ?></td></tr>
kgt Posted February 22, 2006 Posted February 22, 2006 Post your whole file. Contributions Discount Coupon Codes Donations
Xeoalpha Posted February 22, 2006 Author Posted February 22, 2006 Thanks KGT, It's a whole lot: <?php /* $Id: product_info.php,v 1.97 2003/07/01 14:34:54 hpdl Exp $ osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright © 2003 osCommerce Released under the GNU General Public License */ require('includes/application_top.php'); require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_PRODUCT_INFO); $product_check_query = tep_db_query("select count(*) as total from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd where p.products_status = '1' and p.products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "' and pd.products_id = p.products_id and pd.language_id = '" . (int)$languages_id . "'"); $product_check = tep_db_fetch_array($product_check_query); ?> <!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN"> <html <?php echo HTML_PARAMS; ?>> <head> <?php // BOF: WebMakers.com Changed: Header Tag Controller v2.5.2 // Replaced by header_tags.php if ( file_exists(DIR_WS_INCLUDES . 'header_tags.php') ) { require(DIR_WS_INCLUDES . 'header_tags.php'); } else { ?> <title><?php echo TITLE; ?></title> <?php } // EOF: WebMakers.com Changed: Header Tag Controller v2.5.2 ?> <base href="<?php echo (($request_type == 'SSL') ? HTTPS_SERVER : HTTP_SERVER) . DIR_WS_CATALOG; ?>"> <link rel="stylesheet" type="text/css" href="stylesheet.css"> <script language="javascript"><!-- function popupWindow(url) { window.open(url,'popupWindow','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,res izable=yes,copyhistory=no,width=100,height=100,screenX=150,screenY=150,top=150,le ft=150') } //--></script> </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="0" cellpadding="0"> <tr> <!-- body_text //--> <td width="100%" valign="top"><?php echo tep_draw_form('cart_quantity', tep_href_link(FILENAME_PRODUCT_INFO, tep_get_all_get_params(array('action')) . 'action=add_product')); ?> <table cellspacing=0 cellpadding=0> <tr><td height=9></td></tr> <tr><td><img src=images/m32.gif width=474 height=26></td></tr> <tr><td height=13></td></tr> </tabl> <table border="0" width="100%" cellspacing="0" cellpadding="0"> <?php if ($product_check['total'] < 1) { ?> <tr> <td><?php new infoBox(array(array('text' => TEXT_PRODUCT_NOT_FOUND))); ?></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 width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td> <td align="right"><?php echo '<a href="' . tep_href_link(FILENAME_DEFAULT) . '">' . tep_image_button('button_continue.gif', IMAGE_BUTTON_CONTINUE) . '</a>'; ?></td> <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td> </tr> </table></td> </tr> </table></td> </tr> <?php } else { // BOF: More Pics 6 Added: , p.products_subimage1, p.products_subimage2, p.products_subimage3, p.products_subimage4, p.products_subimage5, p.products_subimage6 $product_info_query = tep_db_query("select p.products_id, pd.products_name, pd.products_description, p.products_model, p.products_quantity, p.products_image, p.products_subimage1, p.products_subimage2, p.products_subimage3, p.products_subimage4, p.products_subimage5, p.products_subimage6, pd.products_url, p.products_price, p.products_tax_class_id, p.products_date_added, p.products_date_available, p.manufacturers_id from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd where p.products_status = '1' and p.products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "' and pd.products_id = p.products_id and pd.language_id = '" . (int)$languages_id . "'"); // EOF: More Pics 6 $product_info = tep_db_fetch_array($product_info_query); tep_db_query("update " . TABLE_PRODUCTS_DESCRIPTION . " set products_viewed = products_viewed+1 where products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "' and language_id = '" . (int)$languages_id . "'"); if ($new_price = tep_get_products_special_price($product_info['products_id'])) { $products_price = '<s style="color:#777777; font-size:10px">' . $currencies->display_price($product_info['products_price'], tep_get_tax_rate($product_info['products_tax_class_id'])) . '</s> <span>' . $currencies->display_price($new_price, tep_get_tax_rate($product_info['products_tax_class_id'])) . '</span>'; } else { $products_price = $currencies->display_price($product_info['products_price'], tep_get_tax_rate($product_info['products_tax_class_id'])); } if (tep_not_null($product_info['products_model'])) { $products_name = $product_info['products_name'] . '<br><span class="smallText">[' . $product_info['products_model'] . ']</span>'; } else { $products_name = $product_info['products_name']; } // BOF: More Pics 6 $mopics_image_width = (MOPICS_RESTRICT_IMAGE_SIZE=='true'?SMALL_IMAGE_WIDTH:''); $mopics_image_height = (MOPICS_RESTRICT_IMAGE_SIZE=='true'?SMALL_IMAGE_HEIGHT:''); if (MOPICS_SHOW_ALL_ON_PRODUCT_INFO=='true') { $mopics_output = ''; $mo_row = 1; $mo_col = 1; $mopics_images = array(); if (tep_not_null($product_info['products_image']) && MOPICS_GROUP_WITH_PARENT == 'true') { $mopics_images[] = $product_info['products_image']; } for ( $mo_item=1; $mo_item<7; $mo_item++ ) { if (tep_not_null($product_info['products_subimage'.$mo_item])) { $mopics_images[] = $product_info['products_subimage'.$mo_item]; } } $mopics_count = sizeof($mopics_images); if (tep_not_null($product_info['products_image'])) { $mopics_output .= '<table border="0" cellspacing="0" cellpadding="6" align="'.MOPICS_TABLE_ALIGNMENT.'">'."\n"; } for ( $mo_item=0; $mo_item<$mopics_count; $mo_item++ ) { if ($mo_row<(MOPICS_NUMBER_OF_ROWS+1)) { if ($mo_col==1) {$mopics_output.='<tr>';} $mopics_output .= ' <td align="center" class="smallText"><script language="javascript"><!-- document.write(\'<a href="java script:popupWindow(\\\'' . tep_href_link(FILENAME_POPUP_IMAGE, 'pID=' . $product_info['products_id'].'&invis='.(MOPICS_GROUP_WITH_PARENT=='true'?$mo_item:($mo_item+1))).'\\\')">' . tep_image(DIR_WS_IMAGES . $mopics_images[$mo_item], addslashes($product_info['products_name']), (MOPICS_RESTRICT_PARENT=='false'&&$mo_item==0&&MOPICS_GROUP_WITH_PARENT=='true'?'':$mopics_image_width), (MOPICS_RESTRICT_PARENT=='false'&&$mo_item==0&&MOPICS_GROUP_WITH_PARENT=='true'?'':$mopics_image_height), 'hspace="5" vspace="5"') . '<br>' . TEXT_CLICK_TO_ENLARGE . '</a>\'); //--></script><noscript> <a href="' . tep_href_link(DIR_WS_IMAGES . $mopics_images[$mo_item]) . '" target="_blank">' . tep_image(DIR_WS_IMAGES . $mopics_images[$mo_item], $product_info['products_name'], $mopics_image_width, $mopics_image_height, 'hspace="5" vspace="5"') . '<br>' . TEXT_CLICK_TO_ENLARGE . '</a> </noscript></td>'."\n"; if ($mo_col==MOPICS_NUMBER_OF_COLS) { $mo_col=1; $mo_row++; $mopics_output.='</tr>'."\n"; } else { $mo_col++; } } } if ($mo_col!=1){ while (($mo_col++)<(MOPICS_NUMBER_OF_COLS+1)) { $mopics_output.='<td> </td>'."\n"; } } if (tep_not_null($product_info['products_image'])) { $mopics_output .= '</table>'."\n"; } } // EOF: More Pics 6 ?> <tr><td> <table cellspacing=0 cellpadding=0> <tr><td width=172 align=center valign=top> <!-- display image --> <?php // BOF: More Pics 6 ADDED to if statement: && MOPICS_GROUP_WITH_PARENT == 'false' if (tep_not_null($product_info['products_image']) && MOPICS_GROUP_WITH_PARENT == 'false') { // EOF: More Pics 6 ?> <table cellspacing="0" cellpadding="2" align="center"> <tr> <td align="center" class="smallText"> <script language="javascript"><!-- document.write('<?php echo '<a href="java script:popupWindow(\\\'' . tep_href_link(FILENAME_POPUP_IMAGE, 'pID=' . $product_info['products_id']) . '\\\')">' . tep_image(DIR_WS_IMAGES . $product_info['products_image'], addslashes($product_info['products_name']), SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT, ' hspace="5" vspace="5"') . '<br>' . TEXT_CLICK_TO_ENLARGE . '</a>'; ?>'); //--></script> <noscript> <?php // BOF: More Pics 6 ?> <?php echo '<a href="' . tep_href_link(DIR_WS_IMAGES . $product_info['products_image']) . '" target="_blank">' . tep_image(DIR_WS_IMAGES . $product_info['products_image'], $product_info['products_name'], (MOPICS_RESTRICT_PARENT=='false'?'':SMALL_IMAGE_WIDTH), (MOPICS_RESTRICT_PARENT=='false'?'':SMALL_IMAGE_HEIGHT), 'hspace="5" vspace="5"') . '<br>' . TEXT_CLICK_TO_ENLARGE . '</a>'; ?> <?php // EOF: More Pics 6 ?> </noscript> </td> </tr> </table> <?php } // BOF: More Pics 6 if (MOPICS_TABLE_LOCATION=='above') { echo ' <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td align="center" class="smallText">'.$mopics_output.'</td> <td width=11></td> <td width=274 valign=top> <table cellspacing=0 cellpadding=0> <tr><td> <table cellspacing=0 cellpadding=0> <tr><td class=ml3><?= $products_name; ?></td></tr> <tr><td height=1></td></tr> <tr><td height=10></td></tr> <tr><td height=5></td></tr> <tr><td><b>Item # :</b> <?= $products_id; ?></td></tr> <tr><td><b>Item price:</b> <span class=ni2><?php echo $products_price; ?></span></td></tr> <tr><td height=8></td></tr> </table> </td></tr> <tr><td height=10></td></tr> <tr><td><img src=images/ready.gif width=274 height=1></td></tr> <tr><td height=8></td></tr> <tr><td align=right><?php echo tep_draw_hidden_field('products_id', $product_info['products_id']) . tep_image_submit('button_in_cart.gif', IMAGE_BUTTON_BUY_NOW); ?></td></tr> <tr><td height=8></td></tr> </table> </td> <td width=15></td></tr> </table> </tr> <tr><td width=474 bgcolor=#F4F4EA> <table cellspacing=0 cellpadding=0 width=450 align=center> <tr><td height=11></td></tr> <tr><td><b>Description</b></td></tr> <tr><td height=11></td></tr> <tr><td><?php echo stripslashes($product_info['products_description']); ?><br><br>The versatile Epson Stylus CX4600 provides premium performance at a truly remarkable value. This hard-working all-in-one offers Photo Quality printing from popular memory cards, full-featured scanning, and convenient color copying - all without a computer.<br><br>Up to 5760 x 1440 optimized dpi delivers exceptional image quality whether printing photos, documents, or flyers. Epson's exclusive DURABrite Inks ensure water, smudge and light-resistant output, for vivid, long-lasting results. And, BorderFree printing means anyone can create beautiful photos in frame-ready sizes. Best of all, because it's a DURABrite Photo Series product, this flexible all-in-one comes with 20 sheets of photo paper, Photo Series software, and quick access to Epson's exclusive photo craft and photo sharing websites. 48-bit color, 600 x 1200 dpi scanning and Epson Smart Panel software offer even more flexibility, making it easy to scan images to fax, e-mail, and more. And, there's a fast, simple way to restore faded color photos with exclusive Epson Easy Photo Fix scanning technology. The Epson Stylus CX4600 even offers brilliant color and black-and-white copying, with or without borders - no computer required! Built-in card slots and photo proof sheet provide a simple way to print directly from digital camera memory cards! Ideal for any home setting, this product comes with cost-effective individual ink cartridges. It's everything one needs to create show-stopping projects.</td></tr> <tr><td height=11></td></tr> </table> <br>'."\n"; } else if (MOPICS_TABLE_LOCATION=='sides') { echo $mopics_output; } <!----------------------- Not editable part --------------------------------> // EOF: More Pics 6 <tr><td> ?> <p><?php echo stripslashes($product_info['products_description']); ?></p> <?php $products_attributes_query = tep_db_query("select count(*) as total from " . TABLE_PRODUCTS_OPTIONS . " popt, " . TABLE_PRODUCTS_ATTRIBUTES . " patrib where patrib.products_id='" . (int)$HTTP_GET_VARS['products_id'] . "' and patrib.options_id = popt.products_options_id and popt.language_id = '" . (int)$languages_id . "'"); $products_attributes = tep_db_fetch_array($products_attributes_query); if ($products_attributes['total'] > 0) { ?> <table border="0" cellspacing="0" cellpadding="2"> <tr> <td class="main" colspan="2"><?php echo TEXT_PRODUCT_OPTIONS; ?></td> </tr> <?php $products_options_name_query = tep_db_query("select distinct popt.products_options_id, popt.products_options_name from " . TABLE_PRODUCTS_OPTIONS . " popt, " . TABLE_PRODUCTS_ATTRIBUTES . " patrib where patrib.products_id='" . (int)$HTTP_GET_VARS['products_id'] . "' and patrib.options_id = popt.products_options_id and popt.language_id = '" . (int)$languages_id . "' order by popt.products_options_name"); while ($products_options_name = tep_db_fetch_array($products_options_name_query)) { $products_options_array = array(); $products_options_query = tep_db_query("select pov.products_options_values_id, pov.products_options_values_name, pa.options_values_price, pa.price_prefix from " . TABLE_PRODUCTS_ATTRIBUTES . " pa, " . TABLE_PRODUCTS_OPTIONS_VALUES . " pov where pa.products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "' and pa.options_id = '" . (int)$products_options_name['products_options_id'] . "' and pa.options_values_id = pov.products_options_values_id and pov.language_id = '" . (int)$languages_id . "'"); while ($products_options = tep_db_fetch_array($products_options_query)) { $products_options_array[] = array('id' => $products_options['products_options_values_id'], 'text' => $products_options['products_options_values_name']); if ($products_options['options_values_price'] != '0') { $products_options_array[sizeof($products_options_array)-1]['text'] .= ' (' . $products_options['price_prefix'] . $currencies->display_price($products_options['options_values_price'], tep_get_tax_rate($product_info['products_tax_class_id'])) .') '; } } if (isset($cart->contents[$HTTP_GET_VARS['products_id']]['attributes'][$products_options_name['products_options_id']])) { $selected_attribute = $cart->contents[$HTTP_GET_VARS['products_id']]['attributes'][$products_options_name['products_options_id']]; } else { $selected_attribute = false; } ?> <tr> <td class="main"><?php echo $products_options_name['products_options_name'] . ':'; ?></td> <td class="main"><?php echo tep_draw_pull_down_menu('id[' . $products_options_name['products_options_id'] . ']', $products_options_array, $selected_attribute); ?></td> </tr> <?php } ?> </table> <?php } // BOF: More Pics 6 if (MOPICS_TABLE_LOCATION=='below') { echo ' <br> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td align="center" class="smallText">'.$mopics_output.'</td> </tr> </table>'."\n"; } // EOF: More Pics 6 ?> </td> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> <?php $reviews_query = tep_db_query("select count(*) as count from " . TABLE_REVIEWS . " where products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "'"); $reviews = tep_db_fetch_array($reviews_query); if ($reviews['count'] > 0) { ?> <tr> <td class="main"><?php echo TEXT_CURRENT_REVIEWS . ' ' . $reviews['count']; ?></td> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> <?php } if (tep_not_null($product_info['products_url'])) { ?> <tr> <td class="main"><?php echo sprintf(TEXT_MORE_INFORMATION, tep_href_link(FILENAME_REDIRECT, 'action=url&goto=' . urlencode($product_info['products_url']), 'NONSSL', true, false)); ?></td> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> <?php } if ($product_info['products_date_available'] > date('Y-m-d H:i:s')) { ?> <tr> <td align="center" class="smallText"><?php echo sprintf(TEXT_DATE_AVAILABLE, tep_date_long($product_info['products_date_available'])); ?></td> </tr> <?php } else { ?> <tr> <td align="center" class="smallText"><?php echo sprintf(TEXT_DATE_ADDED, tep_date_long($product_info['products_date_added'])); ?></td> </tr> <?php } ?> <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 width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td> <td class="main"><?php echo '<a href="' . tep_href_link(FILENAME_PRODUCT_REVIEWS, tep_get_all_get_params()) . '">' . tep_image_button('button_reviews.gif', IMAGE_BUTTON_REVIEWS) . '</a>'; ?></td> <td class="main" align="right"><?php echo tep_draw_hidden_field('products_id', $product_info['products_id']) . tep_image_submit('button_in_cart.gif', IMAGE_BUTTON_IN_CART); ?></td> <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td> </tr> </table></td> </tr> </table></td> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> --> <tr> <td> <?php /* if ((USE_CACHE == 'true') && empty($SID)) { echo tep_cache_also_purchased(3600); } else { include(DIR_WS_MODULES . FILENAME_ALSO_PURCHASED_PRODUCTS); } */ } ?> </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'); ?>
kgt Posted February 22, 2006 Posted February 22, 2006 It was a lot, but it was necessary, because the problem is not evident unless you can see line 181. Lines 181 to 220 need to be changed to the following: if (MOPICS_TABLE_LOCATION=='above') { echo ' <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td align="center" class="smallText">'.$mopics_output.'</td> <td width=11></td> <td width=274 valign=top> <table cellspacing=0 cellpadding=0> <tr><td> <table cellspacing=0 cellpadding=0> <tr><td class=ml3>'.$products_name.'</td></tr> <tr><td height=1></td></tr> <tr><td height=10></td></tr> <tr><td height=5></td></tr> <tr><td><b>Item # :</b>'.$products_id.'</td></tr> <tr><td><b>Item price:</b> <span class=ni2>'.$products_price.'</span></td></tr> <tr><td height=8></td></tr> </table> </td></tr> <tr><td height=10></td></tr> <tr><td><img src=images/ready.gif width=274 height=1></td></tr> <tr><td height=8></td></tr> <tr><td align=right>'.tep_draw_hidden_field('products_id', $product_info['products_id']) . tep_image_submit('button_in_cart.gif', IMAGE_BUTTON_BUY_NOW).'</td></tr> <tr><td height=8></td></tr> </table> </td> <td width=15></td></tr> </table> </tr> <tr><td width=474 bgcolor=#F4F4EA> <table cellspacing=0 cellpadding=0 width=450 align=center> <tr><td height=11></td></tr> <tr><td><b>Description</b></td></tr> <tr><td height=11></td></tr> <tr><td>'.stripslashes($product_info['products_description']).'<br><br>The versatile Epson Stylus CX4600 provides premium performance at a truly remarkable value. This hard-working all-in-one offers Photo Quality printing from popular memory cards, full-featured scanning, and convenient color copying - all without a computer.<br><br>Up to 5760 x 1440 optimized dpi delivers exceptional image quality whether printing photos, documents, or flyers. Epson's exclusive DURABrite Inks ensure water, smudge and light-resistant output, for vivid, long-lasting results. And, BorderFree printing means anyone can create beautiful photos in frame-ready sizes. Best of all, because it's a DURABrite Photo Series product, this flexible all-in-one comes with 20 sheets of photo paper, Photo Series software, and quick access to Epson's exclusive photo craft and photo sharing websites. 48-bit color, 600 x 1200 dpi scanning and Epson Smart Panel software offer even more flexibility, making it easy to scan images to fax, e-mail, and more. And, there's a fast, simple way to restore faded color photos with exclusive Epson Easy Photo Fix scanning technology. The Epson Stylus CX4600 even offers brilliant color and black-and-white copying, with or without borders - no computer required! Built-in card slots and photo proof sheet provide a simple way to print directly from digital camera memory cards! Ideal for any home setting, this product comes with cost-effective individual ink cartridges. It's everything one needs to create show-stopping projects.</td></tr> <tr><td height=11></td></tr> </table> <br>'."\n"; Contributions Discount Coupon Codes Donations
Recommended Posts
Archived
This topic is now archived and is closed to further replies.