Кто-нибудь подскажите, пожалуйста, в чем проблема.
Урок 7.
Вроде сделал все как на видео. 10 раз перепроверил. Все равно, при наведении на ссылку "добавить в корзину", id товара не высвечивается (см. скрин
http://i64.fastpic.ru/big/2015/0102/af/d96c33ede2476dda5ca4ba849ab6d6af.png ), а при переходе нажатии на "добавить в корзину" пишет "Warning: include(Z:/home/localhost/www/shop/views/pages/add_to_cart.php) [function.include]: failed to open stream: No such file or directory in Z:\home\localhost\www\shop\views\layouts\shop.php on line 35
Warning: include() [function.include]: Failed opening 'Z:/home/localhost/www/shop/views/pages/add_to_cart.php' for inclusion (include_path='.;C:\php\pear') in Z:\home\localhost\www\shop\views\layouts\shop.php on line 35"
Файл shop.php проверял, вроде все там нормально. По крайней мере, до 7-го урока с ним проблем не было.
Вот коды:
Файл cart_fns.php:
<?php
// Подключаем файл функции соединения с БД MySql:
include('db_fns.php');
// Функция сессии для корзины:
session_start();
// Три элемента сессии:
// Если элемент $_SESSION['cart'] отсутствует:
if(!isset($_SESSION['cart']))
{
// то $_SESSION['cart'] превращаем в пустой массив:
$_SESSION['cart'] = array();// 1-й элемент:
// Сколько всего товаров хранится в корзине (по умолчанию 0):
$_SESSION['total_items'] = 0;// 2-й элемент:
// На сколько всего денег хранится в корзине товаров (по умолчанию 0,00):
$_SESSION['total_price'] = '0.00';// 2-й элемент:
}
/*
Подключение отдельных страниц.
Если элемент массива GET['view'] пустой, то в переменную $view сохраняем значение 'index'. Если же элемент массива GET['view'] не пустой, то в переменную $view сохраняем любое значение,которое ввели в адресную строку:
*/
$view = empty($_GET['view']) ? 'index' : $_GET['view'];
// Вывод страниц при помощи конструкции switch (переключение):
/*Сравниваем значения case
со значением переменной $view:*/
switch($view)
{
case('index');
// Вызываем функцию get_products написанную в файле db_fns.php и помещаем ее в переменную $products (теперь в переменной $products у нас хранятся все продукты):
$products = get_products();
break;// Конец действия.
case('cat');
// Получаем из глобального массива $_GET элемент id и заносим его в переменную $cat:
$cat = $_GET['id'];
// Вызываем функцию get_cat_products написанную в файле db_fns.php, заносим в нее перемнную $cat и помещаем функцию в переменную $products (теперь в переменной $products у нас хранятся все продукты):
$products = get_cat_products($cat);
break;// Конец действия.
case('product');
// Заносим в глобальный массив $_GET id каждого отдельного товара и сохраняем в переменную $id:
$id = $_GET['id'];
// Вызываем функцию get_product из файла db_fns.php, в качестве праметра указываем $id, как и в db_fns.php и заносим в переменную $product:
$product = get_product($id);
break;// Конец действия.
case('cart');
break;// Конец действия.
// case('add_to_cart');
// Получаем из глобального массива $_GET элемент id и вызываем функцию add_to_cart:
// $id = $_GET['id'];
// Вызываем функцию add_to_cart из файла cart_fns.php, в качестве праметра указываем $id, как и в db_fns.php и заносим в переменную $add_item:
// $add_item = add_to_cart($id);
// Остаемся на этой же странице:
// header('location: index.php?view=product&id='.$id);
// break;// Конец действия.
}
// Подключение основного шаблона дизайна:
include($_SERVER['DOCUMENT_ROOT'].'/shop/views/layouts/shop.php');
?>
Файл product.php:
<!-- Таблица подробного вывода товара: -->
<table align="center" cellpadding="0" cellspacing="0" class="product" border="0">
<tr>
<td valign="top">
<!-- Блок с выводом картинок: -->
<div><a href="#"><img src="userfiles/<?=$product['image']/* тоже,что и <?php echo $product['image']?> */?>" alt="" /></a></div>
<div class="description">
<!-- Блок с выводом названий: -->
<div class="product-name"><a href="#"><?=$product['title']?></a></div>
<!-- Блок с выводом цен: -->
<div class="product-price">Цена: <?=$product['price']?> $</div>
</div>
</td>
<td valign="top" width="100">
<!-- Блок с выводом описания: -->
<div><?=$product['description']?></div>
<!-- Ссылка на функцию добавления в корзину товара по id из файла cart_fns.php: -->
<div><a href="index.php?view=add_to_cart&id=<? $product['id']?>">Добавить в корзину</a></div>
</td>
</tr>
</table>
Файл index.php:
<?php
// Подключаем файл функции соединения с БД MySql:
include('db_fns.php');
// Подключаем файл функции корзины:
//include('cart_fns.php');
// Функция сессии для корзины:
session_start();
// Три элемента сессии:
// Если элемент $_SESSION['cart'] отсутствует:
if(!isset($_SESSION['cart']))
{
// то $_SESSION['cart'] превращаем в пустой массив:
$_SESSION['cart'] = array();// 1-й элемент:
// Сколько всего товаров хранится в корзине (по умолчанию 0):
$_SESSION['total_items'] = 0;// 2-й элемент:
// На сколько всего денег хранится в корзине товаров (по умолчанию 0,00):
$_SESSION['total_price'] = '0.00';// 2-й элемент:
}
/*
Подключение отдельных страниц.
Если элемент массива GET['view'] пустой, то в переменную $view сохраняем значение 'index'. Если же элемент массива GET['view'] не пустой, то в переменную $view сохраняем любое значение,которое ввели в адресную строку:
*/
$view = empty($_GET['view']) ? 'index' : $_GET['view'];
// Вывод страниц при помощи конструкции switch (переключение):
/*Сравниваем значения case
со значением переменной $view:*/
switch($view)
{
case('index');
// Вызываем функцию get_products написанную в файле db_fns.php и помещаем ее в переменную $products (теперь в переменной $products у нас хранятся все продукты):
$products = get_products();
break;// Конец действия.
case('cat');
// Получаем из глобального массива $_GET элемент id и заносим его в переменную $cat:
$cat = $_GET['id'];
// Вызываем функцию get_cat_products написанную в файле db_fns.php, заносим в нее перемнную $cat и помещаем функцию в переменную $products (теперь в переменной $products у нас хранятся все продукты):
$products = get_cat_products($cat);
break;// Конец действия.
case('product');
// Заносим в глобальный массив $_GET id каждого отдельного товара и сохраняем в переменную $id:
$id = $_GET['id'];
// Вызываем функцию get_product из файла db_fns.php, в качестве праметра указываем $id, как и в db_fns.php и заносим в переменную $product:
$product = get_product($id);
break;// Конец действия.
case('cart');
break;// Конец действия.
}
// Подключение основного шаблона дизайна:
include($_SERVER['DOCUMENT_ROOT'].'/shop/views/layouts/shop.php');
?>
Файл shop.php:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<link href="style/css.css" rel="stylesheet" type="text/css" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Магазин</title>
</head>
<body>
<table align="center" width="900" cellpadding="0" cellspacing="0" border="0" id="main-table">
<tr>
<td>
<div id="header"></div>
<div id="menu">
<div><a href="index.php">Главная</a></div>
<!-- Категории товаров -->
<?
// Сохраняем результат работы функции get_cat написаной в файле db_fns.php, в переменную $categories:
$categories = get_cat();
// Циклом foreach проходим по всему массиву (вместо item можно писать любое слово):
foreach($categories as $item):
?>
<div><a href="index.php?view=cat&id=<?=$item['cat_id'];?>"><?=$item['name']/* тоже,что и <?php echo $item['image']?> */?></a></div>
<?endforeach;?>
<!-- Ссылка на корзину: -->
<div id="cart"><a href="index.php?view=cart">Ваша корзина</a> - $</div>
</div>
</td>
</tr>
<tr>
<td id="main-block" valign="top">
<!-- Подключение страниц через переменную $view: -->
<?php include($_SERVER['DOCUMENT_ROOT'].'/shop/views/pages/'.$view.'.php'); ?>
<div style="clear: both;"></div>
</td>
</tr>
<tr>
<td id="footer-td">
<div align="center">
<div class="footer">© mysite.com 2012</div>
</div>
</td>
</tr>
</table>
</body>
</html>
Если кто-нибудь подскажет, в чем и где моя ошибка, буду признателен.
Спасибо.