Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Ошибка в коде
Форумы портала PHP.SU » » Если скрипт не работает » Ошибка в коде

Страниц (1): [1]
 

1. ann01 - 14 Февраля, 2014 - 07:57:31 - перейти к сообщению
Помогите пожалуйста разобраться, на сайте написано что в этой строке есть синтаксическая ошибка связанная с < . И я никак не могу понять что тут можно сделать.
PHP:
скопировать код в буфер обмена
  1. <?if($arElement['CAN_BUY']):?>
  2. // Цена
  3. <?endif;?>
2. Invert - 14 Февраля, 2014 - 08:44:49 - перейти к сообщению
Замените на:
PHP:
скопировать код в буфер обмена
  1. <?PHP if ( $arElement[ 'CAN_BUY' ] ) { ?>
  2. // Цена
  3. <?PHP } ?>

и посмотрите, что будет.
3. VenZell - 14 Февраля, 2014 - 09:04:07 - перейти к сообщению
Invert, это ни к чему. Запись верна.

Посмотрите сами: http://ideone[dot]com/m6tEfV

ann01, покажите, что внутри самого условия.
4. ann01 - 14 Февраля, 2014 - 09:14:44 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1.  
  2. <?if($arElement['CAN_BUY']):?>
  3. // Цена
  4. <?endif;?>
  5.  
  6. if (CModule::IncludeModule('sale'))
  7. {
  8.         $dbBasketItems = CSaleBasket::GetList(
  9.                 array(
  10.                         "ID" => "ASC"
  11.                 ),
  12.                 array(
  13.                         "PRODUCT_ID" => $arResult['ID'],
  14.                         "FUSER_ID" => CSaleBasket::GetBasketUserID(),
  15.                         "LID" => SITE_ID,
  16.                         "ORDER_ID" => "NULL",
  17.                 ),
  18.                 false,
  19.                 false,
  20.                 array()
  21.         );
  22.  
  23.         if ($arBasket = $dbBasketItems->Fetch())
  24.         {
  25.                 if($arBasket["DELAY"] == "Y")
  26.                         echo "<script type=\"text/javascript\">$(function() {disableAddToCart('catalog_add2cart_link', 'detail', '".GetMessage("CATALOG_IN_CART_DELAY")."')});</script>\r\n";
  27.                 else
  28.                         echo "<script type=\"text/javascript\">$(function() {disableAddToCart('catalog_add2cart_link', 'detail', '".GetMessage("CATALOG_IN_BASKET")."')});</script>\r\n";
  29.         }
  30. }
  31.  
  32. if ($arParams['USE_COMPARE'])
  33. {
  34.         if (isset(
  35.                 $_SESSION[$arParams["COMPARE_NAME"]][$arParams["IBLOCK_ID"]]["ITEMS"][$arResult['ID']]
  36.         ))
  37.         {
  38.                 echo '<script type="text/javascript">$(function(){disableAddToCompare(\'catalog_add2compare_link\', \''.GetMessage("CATALOG_IN_COMPARE").'\');})</script>';
  39.         }
  40. }
  41.  
  42. if (array_key_exists("PROPERTIES", $arResult) && is_array($arResult["PROPERTIES"]))
  43. {
  44.         $sticker = "";
  45.  
  46.         foreach (Array("SPECIALOFFER", "NEWPRODUCT", "SALELEADER") as $propertyCode)
  47.         {
  48.                 if (array_key_exists($propertyCode, $arResult["PROPERTIES"]) && intval($arResult["PROPERTIES"][$propertyCode]["PROPERTY_VALUE_ID"]) > 0)
  49.                         $sticker .= "&nbsp;<span class=\"sticker\">".$arResult["PROPERTIES"][$propertyCode]["NAME"]."</span>";
  50.         }
  51.  
  52.         if ($sticker != "")
  53.                 $APPLICATION->SetPageProperty("ADDITIONAL_TITLE", $sticker);
  54. }
  55. if (count($arResult['OFFERS_IDS']) > 0 && CModule::IncludeModule('sale'))
  56. {
  57.         $arItemsInCompare = array();
  58.         foreach ($arResult['OFFERS_IDS'] as $ID)
  59.         {
  60.                 if (isset(
  61.                         $_SESSION[$arParams["COMPARE_NAME"]][$arParams["IBLOCK_ID"]]["ITEMS"][$ID]
  62.                 ))
  63.                         $arItemsInCompare[] = $ID;
  64.         }
  65.  
  66.         $dbBasketItems = CSaleBasket::GetList(
  67.                 array(
  68.                         "ID" => "ASC"
  69.                 ),
  70.                 array(
  71.                         "FUSER_ID" => CSaleBasket::GetBasketUserID(),
  72.                         "LID" => SITE_ID,
  73.                         "ORDER_ID" => "NULL",
  74.                         ),
  75.                 false,
  76.                 false,
  77.                 array()
  78.         );
  79.  
  80.         $arPageItems = array();
  81.         $arPageItemsDelay = array();
  82.         while ($arItem = $dbBasketItems->Fetch())
  83.         {
  84.                 if (in_array($arItem['PRODUCT_ID'], $arResult['OFFERS_IDS']))
  85.                 {
  86.                         if($arItem["DELAY"] == "Y")
  87.                                 $arPageItemsDelay[] = $arItem['PRODUCT_ID'];
  88.                         else
  89.                                 $arPageItems[] = $arItem['PRODUCT_ID'];
  90.                 }
  91.         }
  92.  
  93.         if (count($arPageItems) > 0 || count($arPageItemsDelay) > 0)
  94.         {
  95.                 echo '<script type="text/javascript">$(function(){'."\r\n";
  96.                 foreach ($arPageItems as $id)
  97.                 {
  98.                         echo "disableAddToCart('catalog_add2cart_link_ofrs_".$id."', 'list', '".GetMessage("CATALOG_IN_BASKET")."');\r\n";
  99.                 }
  100.                 foreach ($arPageItemsDelay as $id)
  101.                 {
  102.                         echo "disableAddToCart('catalog_add2cart_link_ofrs_".$id."', 'list', '".GetMessage("CATALOG_IN_CART_DELAY")."');\r\n";
  103.                 }
  104.                 echo '})</script>';
  105.         }
  106.        
  107.         if (count($arItemsInCompare) > 0)
  108.         {
  109.                 echo '<script type="text/javascript">$(function(){'."\r\n";
  110.                 foreach ($arItemsInCompare as $id)
  111.                 {
  112.                         echo "disableAddToCompare('catalog_add2compare_link_ofrs_".$id."', '".GetMessage("CATALOG_IN_COMPARE")."');\r\n";
  113.                 }
  114.                 echo '})</script>';
  115.         }
  116. }
  117. ?>
  118.  

Это по битриксу
5. Tyoma5891 - 14 Февраля, 2014 - 10:18:33 - перейти к сообщению
ann01 пишет:
Помогите пожалуйста разобраться, на сайте написано что в этой строке есть синтаксическая ошибка связанная с < . И я никак не могу понять что тут можно сделать.
PHP:
скопировать код в буфер обмена
  1. <?if($arElement['CAN_BUY']):?>
  2. // Цена
  3. <?endif;?>

Такое впечатление что поломался тег html внутри условия тоесть вместо:
<?if(true):?>
<div>true</div>
<?else:?>

чтото вроде

<?if(true):?>
div>true</div>
<?else:?>
6. Мелкий - 14 Февраля, 2014 - 10:25:46 - перейти к сообщению
Tyoma5891 пишет:
Такое впечатление что поломался тег html внутри

Такое впечатление, что на < и > PHP начхать, а смотрит только и именно на <? и ?>. Потому что так оно и есть.
А ещё есть ощущение, что есть закрывающий тег PHP в 117 строке, но он нигде не открывается. По поводу чего парсер и удивляется.

 

Powered by ExBB FM 1.0 RC1