Jump to content



Latest News: (loading..)

- - - - -

Problem with editprice.php

php 5.3 issue

  • Please log in to reply
5 replies to this topic

#1   dennis@dhlhomefurnishings.

dennis@dhlhomefurnishings.
  • Members
  • 44 posts
  • Real Name:Dennis

Posted 28 May 2012 - 01:02 PM

My store is running Oscommerce 2.2 RCa2 and I am just about finished upgrading requirements to move from php 5.2 to 5.3

I seem to have a problem with my edit price file which is accessed from the admin area via Catalogue - Edit Product Price.  When I select that I get the following error

Parse error: syntax error, unexpected $end in C:\Documents and Settings\DHL\My Documents\xampp\htdocs\mywebsite.co.uk\admin\editprice.php on line 189

I have gone back to php 5.2 and the editprice.php works fine.

I have checked all the normal changes for php 5.3 but it must be something different.

Be very grateful if anyone can tell me what the problem is.

Code for editprice.php
<?php
/*
$Id: customers.php 1739 2007-12-20 00:52:16Z hpdl $
osCommerce, Open Source E-Commerce Solutions
http://www.oscommerce.com
Copyright (c) 2003 osCommerce
Released under the GNU General Public License
*/
require('includes/application_top.php');
function getTaxRate($tax_id) {
return  tep_get_tax_rate_value($tax_id);
}
function getGrossPrice($taxid,$NETprice) {
$taxRate = getTaxRate($taxid);
if ($taxRate > 0) {
  $grossPrice = $NETprice * (($taxRate / 100) + 1);
}
   return round($grossPrice,4);
}
function getNetPrice($taxid,$grossPrice)
{
$taxRate = getTaxRate($taxid);
if ($taxRate > 0) {
  $NETprice = $grossPrice / ((1+$taxRate / 100) );
}
   return round($NETprice,4);
}
$action=$_POST['action'];
if ($action=="save") {
$taxid=$_POST['tax'];
$pid=$_POST['proid'];
$price=getNetPrice($taxid,$_POST['price']+0);
	tep_db_query("update products set products_price='$price' where products_id=$pid");
header("location:editprice.php");
}
$srhName=$_POST['srhName'];
$srhPriFrom=$_POST['srhPriFrom']+0;
$srhPriTo=$_POST['srhPriTo']+0;
$srhMan=$_POST['srhMan'];
$srhDes=$_POST['srhDes'];
if ( $srhDes!="" || $srhMan!="" || $srhPriFrom>=0 || $srhPriTo>=0 || $srhName!=""  )
{//ËÑË÷
  $srh=true;
  $tmpsql="";
  if ($srhName)
  $tmpsql=" and pd.products_name like '%$srhName%' ";
  if ($srhPriFrom>0)
  //$tmpsql.=" and p.products_price>=$srhPriFrom";
  $tmpsql.=" and p.products_tax_class_id =tr.tax_class_id and p.products_price>=$srhPriFrom/(tr.tax_rate/100+1) ";
  if ($srhPriTo>0)
  //$tmpsql.=" and p.products_price<=$srhPriTo";
  $tmpsql.=" and p.products_tax_class_id =tr.tax_class_id and p.products_price<=$srhPriTo/(tr.tax_rate/100+1) ";
  if ($srhMan)
  {
   $manquery=tep_db_query("select manufacturers_id,manufacturers_name from manufacturers where manufacturers_name='$srhMan'");
   $manarr=tep_db_fetch_array($manquery);
   if($manid=$manarr["manufacturers_id"])
   $tmpsql.=" and p.manufacturers_id='$manid'";
   else
   $tmpsql.=" and p.manufacturers_id='0'";
  }
  if ($srhDes)
  $tmpsql.=" and pd.products_description like '%$srhDes%' ";
}
$sqlstr="select DISTINCT p.products_tax_class_id, p.products_id, p.products_model, p.products_price, pd.products_name from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd, tax_rates tr  where p.products_id = pd.products_id and pd.language_id = '" . (int)$languages_id . "'  $tmpsql order by p.products_model";
$products_query = tep_db_query($sqlstr);
?>
<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html <?php echo HTML_PARAMS; ?>>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=<?php echo CHARSET; ?>">
<title><?php echo TITLE; ?></title>
<link rel="stylesheet" type="text/css" href="includes/stylesheet.css">
<script language="javascript" src="includes/general.js"></script>
</head>
<body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0" bgcolor="#FFFFFF" onload="SetFocus();">
<!-- header //-->
<?php require(DIR_WS_INCLUDES . 'header.php'); ?>
<!-- header_eof //-->
<!-- body //-->
<table border="0" width="100%" cellspacing="2" cellpadding="2">
  <tr>
	<td width="<?php echo BOX_WIDTH; ?>" valign="top"><table border="0" width="<?php echo BOX_WIDTH; ?>" cellspacing="1" cellpadding="1" class="columnLeft">
<!-- left_navigation //-->
<?php require(DIR_WS_INCLUDES . 'column_left.php'); ?>
<!-- left_navigation_eof //-->
	</table></td>
<!-- body_text //-->
	<td width="100%" valign="top">&nbsp;
  
	<?php
	echo  tep_draw_form("search","editprice.php","","post");
	echo tep_draw_hidden_field("action","search");
	echo "<table class=smalltext><tr>
   </td><td> Name:</td><td>";
	echo tep_draw_input_field("srhName");
	echo " </td><td>Gross Price From:</td><td>";
	echo tep_draw_input_field("srhPriFrom");
	echo "</td><td> Keyword In Product Description:</td><td>";
	echo tep_draw_input_field("srhDes");
	echo "</td></tr><tr><td>Manufacturer:</td><td>";
	echo tep_draw_input_field("srhMan");
	echo " </td><td>Gross Price To:</td><td>";
	echo tep_draw_input_field("srhPriTo");
	echo "</td><td>".tep_draw_input_field("","search","",false,"submit")."</td></tr></table></form>";
  
	 ?>
	
		<table border="0" width="100%" cellspacing="0" cellpadding="0">
		  <tr>
			<td class="pageHeading">&nbsp;<?php echo "Edit Product Gross Price."; ?>&nbsp;</td>
		  </tr>
		</table>
		<table border="0" width="100%" cellspacing="0" cellpadding="2">
		  <tr>
			<td class="smallText" align="right">
<?php
//$productpagequery= tep_db_query($sqlstr);
//$numrows=tep_db_num_rows($productpagequery);
//$attributes_split = new splitPageResults(1, 10, $sqlstr,$numrows);
//$option_page = (isset($HTTP_GET_VARS['option_page']) && is_numeric($HTTP_GET_VARS['option_page'])) ? $HTTP_GET_VARS['option_page'] : 1;
//$options = "select * from " . TABLE_PRODUCTS_OPTIONS . " where language_id = '" . (int)$languages_id . "' order by products_options_id";
//$options_split = new splitPageResults($option_page, MAX_ROW_LISTS_OPTIONS, $options, $options_query_numrows);
//echo $attributes_split->display_links($numrows, MAX_ROW_LISTS_OPTIONS, MAX_DISPLAY_PAGE_LINKS, $attribute_page, 'option_page=' . $option_page . '&value_page=' . $value_page, 'attribute_page');
?>
			</td>
		  </tr>
		
		</table>
	<table width="100%" class="smalltext">
			  <tr>
			<td colspan="7"><?php echo tep_black_line(); ?></td>
		  </tr>
	<tr class="dataTableHeadingRow">
	<td width="10%" class="dataTableHeadingContent">Product ID</td>
	  <td width="15%" class="dataTableHeadingContent">Product Model</td>
	   <td width="45%" class="dataTableHeadingContent">Product Name</td>
		  <td width="20%" class="dataTableHeadingContent">Gross Price</td>  
		   <td width="20%" class="dataTableHeadingContent">Save</td>
	</tr>
			  <tr>
			<td colspan="7"><?php echo tep_black_line(); ?></td>
		  </tr>
<?php
while ($proarr=tep_db_fetch_array($products_query)){
$color+=1;
echo  tep_draw_form("price"."$color","editprice.php","post");
?>
<tr class="<?php echo (floor($color/2) == ($color/2) ? 'attributes-even' : 'attributes-odd'); ?>">
	<input type="hidden" value="<? echo $proarr['products_id']?>" name="proid">
	<input type="hidden" name="action" value="save">
	<input type="hidden" name="tax" value="<?php echo  $proarr['products_tax_class_id']; ?>">
	<td ><? echo $proarr['products_id']?></td>
  <td ><? echo $proarr['products_model']?></td>
	   <td ><? echo $proarr['products_name']?></td>  
	   <td>
	   &pound;<input type="text" name="price" value="<? echo getGrossPrice($proarr['products_tax_class_id'],$proarr['products_price'])?>" />
	 </td>  
		<td><input type="submit" value="save"></td>
	</tr>
	<?
	echo '</form>';
}
	?>
  
	</table>
</td>
<!-- body_text_eof //-->
  </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'); ?>

Many thanks ... Dennis

#2   DunWeb

DunWeb
  • Members
  • 12,713 posts
  • Real Name:Chris
  • Gender:Male
  • Location:Ontario, Canada

Posted 28 May 2012 - 02:06 PM

@dennis@dhlhomefurnishings.

That file is only 178 lines long and is NOT a core osCommerce file..




Chris
:|: Was this post helpful ? Click the LIKE THIS button :|:

See my Profile (click here)  for more information and to contact me for professional osCommerce support that includes custom templates, add ons as well as cart leasing and support plans.

#3   dennis@dhlhomefurnishings.

dennis@dhlhomefurnishings.
  • Members
  • 44 posts
  • Real Name:Dennis

Posted 28 May 2012 - 03:24 PM

Hello Chris

Thanks for your reply

The reason I put the issue into General "add ons" is because it is not an oscommerce core file.

I copied the contents of the file from Dreamweaver.

Dreamweaver says there are 189 lines and I checked the content of thef file and it is the same as I pasted above.

Does your application ignore white space - maybe thats why there is  a difference ?

line 189 is the last line in the file ie <?php require(DIR_WS_INCLUDES . 'application_bottom.php'); ?>

Best Regards ... Dennis

#4   DunWeb

DunWeb
  • Members
  • 12,713 posts
  • Real Name:Chris
  • Gender:Male
  • Location:Ontario, Canada

Posted 28 May 2012 - 03:34 PM

@dennis@dhlhomefurnishings.

NEVER USE A DROP AND DRAG EDITOR WITH OSCOMMERCE !!!!


Use Notepad++ or Editplus+ for best results.


If the line in question is <?php require(DIR_WS_INCLUDES . 'application_bottom.php'); ?>

I suggest you look at that file for the error.


Chris
:|: Was this post helpful ? Click the LIKE THIS button :|:

See my Profile (click here)  for more information and to contact me for professional osCommerce support that includes custom templates, add ons as well as cart leasing and support plans.

#5   germ

germ
  • Members
  • 13,921 posts
  • Real Name:Jim
  • Gender:Male
  • Location:USA (GMT-6)

Posted 28 May 2012 - 04:13 PM

At the bottom of the file in this code:

		   &pound;<input type="text" name="price" value="<? echo getGrossPrice($proarr['products_tax_class_id'],$proarr['products_price'])?>" />
		 </td>  
				<td><input type="submit" value="save"></td>
		</tr>
		<?
		echo '</form>';
}

You have TWO opening PHP short tags:that look like this:

<?

Change them to this:

<?php
If I suggest you edit any file(s) make a backup first - I'm not perfect and neither are you.

"Given enough impetus a parallelogramatically shaped projectile can egress a circular orifice."
- Me -

"Headers already sent" - The definitive help

"Cannot redeclare ..." - How to find/fix it

SSL Implementation Help

Like this post? "Like" it again over there >

#6   dennis@dhlhomefurnishings.

dennis@dhlhomefurnishings.
  • Members
  • 44 posts
  • Real Name:Dennis

Posted 29 May 2012 - 10:44 AM

Hello Jim

Thank you for your reply.

I changed the code as you suggested and now works ok.

Don't know how it worked in php 5.2 but as that is history it doesn't really matter

Thanks again ... Dennis