sf2015
Новичок
открываю страницу 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;?>
Но самое главное при нажатии кнопки добавить в корзину появляется белый экран с предупреждениями
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;?>