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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Проблема на хостинге [2]

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
morosit
Отправлено: 19 Октября, 2011 - 13:30:32
Post Id



Посетитель


Покинул форум
Сообщений всего: 307
Дата рег-ции: Июль 2010  
Откуда: Казахстан


Помог: 4 раз(а)




caballero проверка - это вы про:
Avrelio пишет:
if(count($shop)>0)

могу ошибаться но помоему false != NULL, а значит проверку прийдет на ура
я понять не могу для вот этого
 
 Top
DeepVarvar Супермодератор
Отправлено: 19 Октября, 2011 - 17:32:07
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




morosit пишет:
я понять не могу для вот этого
PHP:
$shop=unserialize($_SESSION['shop']);

С самим куском кода все нормально, если не считать что сам кусок ненормален.
Это кто-то не знал что в сессию можно массив пихать не сериализуя.
Для него сервер это спрортсмен - ничо типа, прокачается...
 
 Top
caballero
Отправлено: 19 Октября, 2011 - 18:14:21
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




Цитата:
могу ошибаться но помоему false != NULL, а значит проверку прийдет на ура


согласен, недоглядел
надо if(count($shop)>1)
или is_array()


Цитата:
Это кто-то не знал что в сессию можно массив пихать не сериализуя


есть подозрение что так и запихано и при попытке десереализиции естественно выдает false
наиболее логичное объяснение

почему работает на Денвере непонятно может просто ворнинги удавлены


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
Avrelio
Отправлено: 19 Октября, 2011 - 20:21:38
Post Id


Новичок


Покинул форум
Сообщений всего: 35
Дата рег-ции: Окт. 2011  


Помог: 0 раз(а)

[+][+]


illyда ты прав ошибочка вот что не выводится $i который в c помощью foreach читается

foreach ($shop as $id => $count)
{
$i++;
}
(Добавление)

$shop=unserialize($_SESSION['shop']);

в убрал в мини корзине вот ето зделол так

$shop=($_SESSION['shop'];

После чего вывело сразу ошибку раньше только при обновлении
Потом зашол в основную карзину и вурнулся на главную

$i стал работать пока не добавиш новвый товар при добавлении цена и $i збиваютса(тоесть кукисы обновляютса)
(Добавление)
Array ( [dle_user_id] => 0 [dle_password] => [referrer] => /index.php [tot] => 1250.00 [shop] => Array ( [113] => 5 ) ) вот ето выводит print_r($_Session);

(Отредактировано автором: 19 Октября, 2011 - 21:35:27)

 
 Top
DeepVarvar Супермодератор
Отправлено: 19 Октября, 2011 - 21:33:42
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




caballero пишет:
надо if(count($shop)>1)
Тогда потеряется первый заказанный товар.
 
 Top
Avrelio
Отправлено: 19 Октября, 2011 - 21:41:41
Post Id


Новичок


Покинул форум
Сообщений всего: 35
Дата рег-ции: Окт. 2011  


Помог: 0 раз(а)

[+][+]


Вопрос а мб ето иза настроек пхп?

Примечание: можно установить callback-функцийю, которая будет вызываться, если неопределённый/undefined класс должен быть инстанциирован в процессе десериализации (для предотвращения получения неполного object "__PHP_Incomplete_Class"). Используйте ваш php.ini, ini_set() или .htaccess-файл для определения 'unserialize_callback_func'. Каждый раз, когда undefined класс должен быть инстанциирован, вызывается эта установка. Для отключения этого просто сделайте эту установку пустой.


мб на хосте не включена ета опция?

как ие через .htaccess поставить
(Добавление)
в php.ini
; The unserialize callback function will be called (with the undefined class'
; name as parameter), if the unserializer finds an undefined class
; which should be instantiated.
; A warning appears if the specified function is not defined, or if the
; function doesn't include/implement the missing class.
; So only set this entry, if you really want to implement such a
; callback-function.
unserialize_callback_func=

на денвере как на хосте без понятия
(Добавление)
Хелп ми )
 
 Top
Avrelio
Отправлено: 20 Октября, 2011 - 04:14:14
Post Id


Новичок


Покинул форум
Сообщений всего: 35
Дата рег-ции: Окт. 2011  


Помог: 0 раз(а)

[+][+]


Ищо один файл post.php

CODE (php):
скопировать код в буфер обмена
  1.  
  2. <?php
  3.  
  4. class db
  5. {}
  6. require_once "engine/data/dbconfig.php";
  7. mysql_connect(DBHOST,DBUSER,DBPASS) or die ("Ощибка подключение к бд: ".mysql_error());
  8. mysql_select_db(DBNAME) or die ("Невозможно выбрать бд: ".mysql_error());
  9. $total=0;
  10. function count_price($shop)
  11. {
  12.         foreach($shop as $id => $count)
  13.         {
  14.                 if(preg_match("|^[\d]+$|", $id))
  15.                 {
  16.                         $query="SELECT * FROM " . PREFIX . "_post WHERE id='$id'";
  17.                         $result=mysql_query($query);
  18.                         $row=mysql_fetch_array($result);
  19.                         $total=floatval($total)+floatval($row["price"])*floatval($count);
  20.                 }
  21.  
  22.         }
  23.  
  24.         return $total;
  25. }
  26.  
  27. if($_SESSION['shop'])
  28. {
  29.         $shop = unserialize($_SESSION['shop']);
  30. }
  31. else $shop = array();
  32.  
  33. $do=$_POST['do'];
  34.  
  35. if($do=='delete')
  36. {
  37.         $p_id=stripslashes($_POST['id']);
  38.         unset($shop[$p_id]);
  39.  
  40.         $total=sprintf("%01.2f",count_price($shop));
  41.         $goodsQuant=count($shop);
  42.      $_SESSION['tot']=$total;
  43.         echo $goodsQuant.";".$total;
  44. }
  45. else if($do=='recount')
  46. {
  47. $p_id=unserialize(stripslashes($_POST['id']));
  48.         $p_count=unserialize(stripslashes($_POST['count']));
  49.         //echo $p_id." - ".$p_count;
  50.         for($k=0;$k<count($p_id);$k++)
  51.         {
  52.                 $id=$p_id[$k];
  53.                 $count=$p_count[$k];
  54.                 if(preg_match("|^[\d]+$|", $count) and $count>0)
  55.                 {
  56.                         if (array_key_exists($id, $shop) and $do=='shop')
  57.                         {
  58.                                 $shop[$id]=$shop[$id]+$count;
  59.                         }
  60.                         else $shop[$id]=$count;
  61.                 }
  62.         else if($count==0)
  63.         {
  64.             unset($shop[$id]);
  65.         }
  66.         }
  67.  
  68.         $total=sprintf("%01.2f",count_price($shop));
  69.         $goodsQuant=count($shop);
  70.        //отладка системы
  71.  $_SESSION['tot']=$total;
  72.         //header("Location: ".$_SERVER['HTTP_REFERER']);
  73.         echo $goodsQuant.";".$total;
  74. }
  75. else
  76. {
  77. //echo $_POST['id']."<br>";    
  78.         $p_id=stripslashes($_POST['id']);
  79.         $p_count=stripslashes($_POST['count']);
  80.         //echo $p_id." - ".$p_count;
  81.         //for($k=0;$k<count($p_id);$k++)
  82.         //{
  83.                 $id=$p_id;
  84.                 $count=$p_count;
  85.                 if(preg_match("|^[\d]+$|", $count) and $count>0)
  86.                 {
  87.                         if (array_key_exists($id, $shop) and $do=='shop')
  88.                         {
  89.                                 $shop[$id]=$shop[$id]+$count;
  90.                         }
  91.                         else $shop[$id]=$count;
  92.                 }
  93.         else if($count==0)
  94.         {
  95.             unset($shop[$id]);
  96.         }
  97.         //}
  98.  
  99.         $total=sprintf("%01.2f",count_price($shop));
  100.         $goodsQuant=count($shop);
  101.        //отладка системы
  102.  $_SESSION['tot']=$total;
  103.         header("Location: ".$_SERVER['HTTP_REFERER']);
  104.         echo $goodsQuant.";".$total;
  105. }
  106.  
  107.  
  108. $_SESSION['shop']=serialize($shop);
  109.  
  110. ?>
  111.  
  112.  
 
 Top
DeepVarvar Супермодератор
Отправлено: 20 Октября, 2011 - 04:45:28
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




PHP:
скопировать код в буфер обмена
  1. function count_price($shop)
  2. {
  3.   foreach($shop as $id => $count)
  4.   {
  5.     if(preg_match("|^[\d]+$|", $id))
  6.       {
  7.         $query="SELECT * FROM " . PREFIX . "_post WHERE id='$id'";
  8.         $result=mysql_query($query);
  9.         $row=mysql_fetch_array($result);
  10.         $total=floatval($total)+floatval($row["price"])*floatval($count);
  11.       }
  12.    }
  13.   return $total;
  14. }

Не понял Не понял Не понял
Это DLE ???
Ффак... Я лучше к нему относился...
(Добавление)
Не, ты смари, а: нотайс точно заработали, так еще и запросы в циклах *ROFL* - профессионально...
 
 Top
snikers987
Отправлено: 20 Октября, 2011 - 08:57:05
Post Id



Участник


Покинул форум
Сообщений всего: 1239
Дата рег-ции: Сент. 2011  
Откуда: Крым


Помог: 25 раз(а)




Цитата:
Это DLE ???
Ффак... Я лучше к нему относился...


не факт что это писали разрабы ДЛЕ , это скорее плагин не известного солдата=)


-----
Когда всматриваешься в тёмную бездну, учти, что кто-то может смотреть на тебя из неё...
 
My status
 Top
Avrelio
Отправлено: 20 Октября, 2011 - 09:42:32
Post Id


Новичок


Покинул форум
Сообщений всего: 35
Дата рег-ции: Окт. 2011  


Помог: 0 раз(а)

[+][+]


ето модуль написанный каким-то lion ) ну ет не факт так и не кто и не ответил где таитса проблема?
 
 Top
illy
Отправлено: 20 Октября, 2011 - 10:19:31
Post Id



Участник


Покинул форум
Сообщений всего: 1117
Дата рег-ции: Июль 2011  
Откуда: от верблюда)


Помог: 28 раз(а)




если весь сайт с скриптом этим стоял бы у меня на девере я бы запрсто нашёл.
а так гадать всё время не очень гуд Огорчение


-----
Всё гениальное - просто
И ещё проще, если ты - индиго
 
 Top
Avrelio
Отправлено: 20 Октября, 2011 - 14:23:55
Post Id


Новичок


Покинул форум
Сообщений всего: 35
Дата рег-ции: Окт. 2011  


Помог: 0 раз(а)

[+][+]


могу скинуть все через асю) я те отписал)
 
 Top
Avrelio
Отправлено: 21 Октября, 2011 - 19:29:16
Post Id


Новичок


Покинул форум
Сообщений всего: 35
Дата рег-ции: Окт. 2011  


Помог: 0 раз(а)

[+][+]


Так и не кто и не знает в чем ошибка
У кого есть желания помочь могу скинуть весь движок...

как я понимаю сессия не вся запиываетса вот почему выскакует ета ошибка и шоп не работает(

Помогите плыз)))
 
 Top
Страниц (2): « 1 [2]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB