Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
в денвере работает а на nic.ru нет
|
|||
|---|---|---|---|
|
#18+
открываю страницу http://dcli.ru/page-5.php в денвере все хорошо. На хостере nic.ru предупрерждения. array_values() expects parameter 1 to be array, string given in /home/dcli/dcli.ru/docs/lib.php Но самое главное при нажатии кнопки добавить в корзину появляется белый экран с предупреждениями Warning: array_values() expects parameter 1 to be array, string given in /home/dcli/dcli.ru/docs/lib.php on line 17 Warning: array_shift() expects parameter 1 to be array, null given in /home/dcli/dcli.ru/docs/lib.php on line 18 Warning: Invalid argument supplied for foreach() in /home/dcli/dcli.ru/docs/lib.php on line 19 Warning: Cannot modify header information - headers already sent by (output started at /home/dcli/dcli.ru/docs/lib.php:17) in /home/dcli/dcli.ru/docs/lib.php on line 34 Warning: Cannot modify header information - headers already sent by (output started at /home/dcli/dcli.ru/docs/lib.php:17) in /home/dcli/dcli.ru/docs/add2basket.php on line 6 вот файл lib.php --------------------- <?php function clearInt($data) { return abs((int)$data); } function basketInit(){ global $basket, $count, $totalSum; if(!isset($_COOKIE['basket'])) { $basket = array('orderid' => uniqid()); saveBasket(); } else { $basket = unserialize(base64_decode($_COOKIE['basket'])); $count = count($basket) - 1; $prices = array_values($basket); array_shift($prices); foreach($prices as $price) { $totalSum += $price; } } } function myBasket(){ global $basket; $goods = array_keys($basket); array_shift($goods); return $goods; } function saveBasket(){ global $basket; $basket = base64_encode(serialize($basket)); setcookie('basket', $basket, 0x7FFFFFFF); } function add2Basket($id){ global $basket; $basket[$id] = returnPriceFromId($id); saveBasket(); } function returnPriceFromId($id){ $sql = "SELECT price FROM pricelist where id='$id'"; $res = mysql_query($sql); $price = mysql_fetch_array($res); return $price[0]; } function deleteItemFromBasket($id){ global $basket; unset($basket[$id]); saveBasket(); } function unsetBasket(){ setcookie('basket','',time()-3600); } add2basket.php -------------------- <?php include 'lib.php'; include 'inc/db_conn.php'; $id = clearInt($_GET['id']); add2Basket($id); header('Location: '.$_SERVER['HTTP_REFERER']); exit;?> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2015, 13:21 |
|
||
|
в денвере работает а на nic.ru нет
|
|||
|---|---|---|---|
|
#18+
ну там же написано все. Смотри, что у тебя в $_COOKIE['basket'] и что в итоге в $basket. Ожидается массив, а там строка ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2015, 13:34 |
|
||
|
в денвере работает а на nic.ru нет
|
|||
|---|---|---|---|
|
#18+
$basket[] = unserialize(base64_decode($_COOKIE['basket'])); Если делать так, то ворнингов нет... но в корзину ничего не идет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2015, 13:46 |
|
||
|
в денвере работает а на nic.ru нет
|
|||
|---|---|---|---|
|
#18+
sfsfЕсли делать так, то ворнингов нет... но в корзину ничего не идет.Всё логично. Вы же изменили логику работы приложения. Вывод var_dump($_COOKIE); - в студию! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2015, 14:35 |
|
||
|
в денвере работает а на nic.ru нет
|
|||
|---|---|---|---|
|
#18+
Я далек от этого, подскажите как вывести Вывод var_dump($_COOKIE); - в студию! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2015, 14:37 |
|
||
|
в денвере работает а на nic.ru нет
|
|||
|---|---|---|---|
|
#18+
array(2) { ["PHPSESSID"]=> string(32) "aa064b8558861c8a99243a613621f28b" ["basket"]=> string(56) "YToxOntzOjc6Im9yZGVyaWQiO3M6MTM6IjU1YjhhYjFlOTcxNDYiO30=" } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2015, 14:40 |
|
||
|
в денвере работает а на nic.ru нет
|
|||
|---|---|---|---|
|
#18+
а где basketInit() вызывается? В нем выведи var_dump куки в начале. p.s. global зло ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2015, 15:58 |
|
||
|
в денвере работает а на nic.ru нет
|
|||
|---|---|---|---|
|
#18+
db_conn.php -------------- <?php $DB_HOST = 'dcli.mysql'; $DB_USER = 'dcli_mysql'; $DB_PASS = '6Kc:JRsV'; $DB_NAME = 'dcli_laba'; $basket = array(); $count = 0; $totalSum = 0; var_dump($_COOKIE); basketInit(); $link = mysql_connect($DB_HOST,$DB_USER,$DB_PASS); mysql_select_db($DB_NAME); @mysql_query('set character_set_client="utf8"'); @mysql_query('set character_set_results="utf8"'); @mysql_query('set collation_connection="utf8_general_ci"'); array(2) { ["PHPSESSID"]=> string(32) "aa064b8558861c8a99243a613621f28b" ["basket"]=> string(56) "YToxOntzOjc6Im9yZGVyaWQiO3M6MTM6IjU1YjhhYjFlOTcxNDYiO30=" } Warning: Cannot modify header information - headers already sent by (output started at /home/dcli/dcli.ru/docs/inc/db_conn.php:9) in /home/dcli/dcli.ru/docs/lib.php on line 37 Warning: Cannot modify header information - headers already sent by (output started at /home/dcli/dcli.ru/docs/inc/db_conn.php:9) in /home/dcli/dcli.ru/docs/add2basket.php on line 6 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2015, 16:48 |
|
||
|
в денвере работает а на nic.ru нет
|
|||
|---|---|---|---|
|
#18+
sfsf, А сравните версии PHP на хостинге и в Денвере (в Денвере что-то старое по умолчанию) - может синтаксис используемых вами функций поменялся между релизами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2015, 17:44 |
|
||
|
в денвере работает а на nic.ru нет
|
|||
|---|---|---|---|
|
#18+
а зачем array_shift($prices); там один элемент в массиве, и ты его убираешь, а потом стартуешь цикл. Расставь var_dump после каждой строчки в else baseInit и посмотри что там получается ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2015, 18:01 |
|
||
|
в денвере работает а на nic.ru нет
|
|||
|---|---|---|---|
|
#18+
function basketInit(){ global $basket, $count, $totalSum; if(!isset($_COOKIE['basket'])) { $basket = array('orderid' => uniqid()); saveBasket(); } else { var_dump($_COOKIE); $basket = unserialize(base64_decode($_COOKIE['basket'])); /*$basket[] = unserialize(base64_decode($_COOKIE['basket']));*/ var_dump($_COOKIE); $count = count($basket) - 1; $prices = array_values($basket); var_dump($_COOKIE); array_shift($prices); var_dump($_COOKIE); foreach($prices as $price) { $totalSum += $price; var_dump($_COOKIE); } } } ----------- array(2) { ["PHPSESSID"]=> string(32) "aa064b8558861c8a99243a613621f28b" ["basket"]=> string(56) "YToxOntzOjc6Im9yZGVyaWQiO3M6MTM6IjU1YjhhYjFlOTcxNDYiO30=" } array(2) { ["PHPSESSID"]=> string(32) "aa064b8558861c8a99243a613621f28b" ["basket"]=> string(56) "YToxOntzOjc6Im9yZGVyaWQiO3M6MTM6IjU1YjhhYjFlOTcxNDYiO30=" } array(2) { ["PHPSESSID"]=> string(32) "aa064b8558861c8a99243a613621f28b" ["basket"]=> string(56) "YToxOntzOjc6Im9yZGVyaWQiO3M6MTM6IjU1YjhhYjFlOTcxNDYiO30=" } array(2) { ["PHPSESSID"]=> string(32) "aa064b8558861c8a99243a613621f28b" ["basket"]=> string(56) "YToxOntzOjc6Im9yZGVyaWQiO3M6MTM6IjU1YjhhYjFlOTcxNDYiO30=" } array(2) { ["PHPSESSID"]=> string(32) "aa064b8558861c8a99243a613621f28b" ["basket"]=> string(56) "YToxOntzOjc6Im9yZGVyaWQiO3M6MTM6IjU1YjhhYjFlOTcxNDYiO30=" } Warning: Cannot modify header information - headers already sent by (output started at /home/dcli/dcli.ru/docs/inc/db_conn.php:9) in /home/dcli/dcli.ru/docs/lib.php on line 42 Warning: Cannot modify header information - headers already sent by (output started at /home/dcli/dcli.ru/docs/inc/db_conn.php:9) in /home/dcli/dcli.ru/docs/add2basket.php on line 6 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2015, 09:16 |
|
||
|
в денвере работает а на nic.ru нет
|
|||
|---|---|---|---|
|
#18+
да нафиг ты куки то повыводил) Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2015, 09:22 |
|
||
|
в денвере работает а на nic.ru нет
|
|||
|---|---|---|---|
|
#18+
Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. Код: html 1. 2. 3. 4. 5. 6. 7. 8. странный у тебя код какой то, в куках лежит orderid, ты его пишешь в $prices, потом удаляешь единственное значение и запускаешь цикл на пустом массиве. Либо у тебя кука не та, либо в логике че то напутано, и не помешало бы проверки какие нибудь расставить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2015, 09:29 |
|
||
|
в денвере работает а на nic.ru нет
|
|||
|---|---|---|---|
|
#18+
function basketInit(){ global $basket, $count, $totalSum; if(!isset($_COOKIE['basket'])) { $basket = array('orderid' => uniqid()); echo "<pre>"; var_dump($basket); echo "</pre>"; saveBasket(); } else { $basket = unserialize(base64_decode($_COOKIE['basket'])); /*$basket[] = unserialize(base64_decode($_COOKIE['basket']));*/ echo "<pre>"; var_dump($basket); echo "</pre>"; $count = count($basket) - 1; echo "<pre>"; var_dump($count); echo "</pre>"; $prices = array_values($basket); echo "<pre>"; var_dump($prices); echo "</pre>"; array_shift($prices); echo "<pre>"; var_dump($prices); echo "</pre>"; foreach($prices as $price) { $totalSum += $price; } echo "<pre>"; var_dump($totalSum); echo "</pre>"; } -------------------- array(2) { ["PHPSESSID"]=> string(32) "aa064b8558861c8a99243a613621f28b" ["basket"]=> string(56) "YToxOntzOjc6Im9yZGVyaWQiO3M6MTM6IjU1YjhhYjFlOTcxNDYiO30=" } array(1) { ["orderid"]=> string(13) "55b8ab1e97146" } int(0) array(1) { [0]=> string(13) "55b8ab1e97146" } array(0) { } int(0) Warning: Cannot modify header information - headers already sent by (output started at /home/dcli/dcli.ru/docs/inc/db_conn.php:9) in /home/dcli/dcli.ru/docs/lib.php on line 63 Warning: Cannot modify header information - headers already sent by (output started at /home/dcli/dcli.ru/docs/inc/db_conn.php:9) in /home/dcli/dcli.ru/docs/add2basket.php on line 6 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2015, 11:06 |
|
||
|
в денвере работает а на nic.ru нет
|
|||
|---|---|---|---|
|
#18+
array(10) { ["basket"]=> string(56) "YToxOntzOjc6Im9yZGVyaWQiO3M6MTM6IjU1YjhhYjFlOTcxNDYiO30=" ["ctxjs1420m06d05nn"]=> string(70) "7b2273756363657373223a302c226c6f675f616374697665223a312c22626c223a307d" ["acdsdbl0ck"]=> string(1) "0" ["fkldsnmflhwe784n"]=> string(37) "434a5331313531444f4d434f4f4b494552554" ["uiry237bdsjnfiln"]=> string(41) "4f4f544431313531434a535255444f4d41494e434" ["ckwqy38obnn"]=> string(2) "RU" ["894h35bnklpsqn"]=> string(2) "RU" ["83bnmklsae328ynn"]=> string(5) "34601" ["789345ybnf984nn"]=> string(5) "10742" ["uyru345hr9lks1151"]=> string(26) "52029928225092591435839547" } array(1) { ["orderid"]=> string(13) "55b8ab1e97146" } int(0) array(1) { [0]=> string(13) "55b8ab1e97146" } array(0) { } int(0) Warning: Cannot modify header information - headers already sent by (output started at /home/dcli/dcli.ru/docs/inc/db_conn.php:9) in /home/dcli/dcli.ru/docs/lib.php on line 63 Warning: Cannot modify header information - headers already sent by (output started at /home/dcli/dcli.ru/docs/inc/db_conn.php:9) in /home/dcli/dcli.ru/docs/add2basket.php on line 6 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2015, 11:11 |
|
||
|
|

start [/forum/topic.php?fid=23&msg=39018972&tid=1461621]: |
0ms |
get settings: |
9ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
56ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 258ms |
| total: | 404ms |

| 0 / 0 |
