1. Главная страница » Как сделать...? » Необходимые файлы и таблицы для создания интернет корзины

Необходимые файлы и таблицы для создания интернет корзины

Автор: | 20.03.2013

Итак, давайте сделаем небольшой интернет магазин, в котором будем продавать копии картин известных художников.

Открываем текстовый редактор и создаем пять файлов с расширением (php)

1. magazin.php — Главная страница.

2. product.php — страница с товаром.

3. zapisi_tovara.php — файл, который записывает выбранный товар в базу даных.

4. corzina.php — страница, где будут отображаться выбранные товары.

5. final.php — отправляет на вашу почту данные о покупке и дополнительные данные о покупателе.

Создаем папку с именем «foto» где будут, хранятся фото наших товаров.

Далее нам понадобятся три таблицы в базе данных с именем «cortini» которую нужно создать с помощью «phpMyAdmin» (как создать базу данных с таблицами я написал здесь) который входит в комплектацию «денвера» а открывается он следующим образом:
вводим в адресную строку браузера эту строку — http://localhost/tools/phpmyadmin

Имена таблиц:

1. posetiteli — таблица, где хранятся данные счетчика посетителей, так как его значение никогда не повторяется, то мы смело можем привязать его к посетителю, то есть: 1234-ый посетитель будет иметь «талон» с номером «1234».

2. tovari — таблица, где хранятся данные о всех товарах нашего магазина.

3. vibranie_tovari — таблица, куда будут записываться товары, которые выбрали наши покупатели.

Скачать архив с таблицами, файлами и папкой с изображениями вы можете в разделе программы.

И так давайте разберем каждый файл отдельно.

Файл: «magazin.php»

<?php
header('Content-Type: text/html; charset=utf-8');
setlocale(LC_ALL, 'ru_RU.65001', 'rus_RUS.65001', 'Russian_Russia. 65001', 'russian');

session_start();

if (isset($_SESSION['talon']) == "" )
   {
$conn = mysql_connect("localhost", "Имя пользователя", "Пароль пользователя") or die ("Could not connect: " . mysql_error()); 
 mysql_select_db("cortini", $conn); 
$result = mysql_query("SELECT counter FROM posetiteli", $conn);
if (!$result) {echo "zapros na viborcu ne proshol."; mysql_error();}
$x = mysql_fetch_array($result);

   $_SESSION['talon'] = $x["counter"]+1;

$result = mysql_query("UPDATE posetiteli SET counter = counter + 1", $conn);
if (!$result) {echo "zapros na viborcu ne proshol."; mysql_error();}

mysql_close($conn);
}
   ?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>интернет магазин</title>
<meta http-equiv="Content-Style-Type" content="text/css">
<meta name="keywords" content="интернет, магазин, картины, прдаем, продажа, картин">
<meta name="description" content="интернет магазин">
</head>
<body>

<div style="position:absolute; top:0px; height:100px; left:0px; width="99%"; border: 1px solid blue;">
<h1 align="center">Шапка сайта</h1>
</div>

<div style="position:absolute; top:100px; height:400px; left:0px; width="99%"; border: 1px solid blue;">
<h1 align="center">Меню №1</h1>
</div>

<div style="position:absolute; top:100px; height:400px; left:800px; width="99%"; border: 1px solid blue;">
<h1 align="center">Меню №2</h1>
</div>

<div style="position:absolute; top:100px; height:400px; left:200px; width="99%"; border: 1px solid blue;">
<h1 align="center"><a href="product.php">Наши товары.</a></h1>

<h3 align="center"><?php echo "Вы являетесь: ".$_SESSION['talon']." посетителем! <br/>Номер Вашей покупки: ".$_SESSION['talon']?></h3>

</div>

<div style="position:absolute; top:500px; height:100px; left:0px; width="99%"; border: 1px solid blue;">
<h1 align="center">Подвал сайта</h1> 
</div>

</body>
</html>

посмотреть

Читайте также:  Пример формы регистрации с проверкой заполнения полей и формы входа на сайт

В начале файла нам необходимо разместить, код счетчика посетителей, который будет считать посетителей, и одновременно присваивать им «уникальный номер» а делается это лишь для того чтобы счетчик не считал Вас каждый раз когда Вы открываете данную страницу.

Для этого нужно создать «глобальную переменную» так называемую «сессию» с именем «talon», в которой, будет храниться значение, в нашем случае значение будет «показания счетчика».

И так, если вы заходите впервые на эту страницу, то естественно сессия с именем «talon» ($_SESSION[‘talon’]) будет пустой. В этом случае срабатывает запрос к таблице «posetiteli», извлекается из нее число посетителей, и прибавляется к нему «1» (так как Вы новый посетитель) и получившейся результат записывается в $_SESSION[‘talon’], после чего меняем данные самого счетчика (то есть, прибавляем «1»). Эта сессия будет, привязана к Вам все время пока вы находитесь на сайте даже после выхода, она сохраняется на некоторое время.

Если вы перезагрузите страницу, то код счетчика проверит если $_SESSION[‘talon’] имеет значение, то он не сработает и не запишет Вас как нового пользователя.

Давайте рассмотрим код счетчика:

Первые две строчки указывают браузеру, в какой кодировке написан данный файл.

session_start(); — запускаем сессии.

if (isset($_SESSION[‘talon’]) == «» ) — проверяем если сессия с именем «talon» пустая, то выполняем действия, которые записаны в фигурных скобках {}, если нет, то пропускаем фигурные скобки и идем дальше.

$conn = mysql_connect(«localhost», «Имя пользователя«, «Пароль пользователя«) or die («Could not connect: » . mysql_error());
mysql_select_db(«cortini», $conn);
— устанавливаем соединение с нашей базой данных, в нашем случае база данных с именем «cortini», также обратите внимание на «Имя пользователя» и «Пароль пользователя» здесь необходимо вставить то имя которое вы указали при создании базы данных, то есть того кто имеет право доступа к этой базе, и пароль соответственно.

Читайте также:  Как сделать кнопку наверх с помощью jQuery без плагинов

$result = mysql_query(«SELECT counter FROM posetiteli», $conn); — здесь мы формируем переменную «$result» с конкретным запросом к одной из таблиц, в данном случае мы хотим выбрать(SELECT) поле с именем «counter» из (FROM) таблицы с именем «posetiteli», если запрос прошел успешно то формируется переменная «$result»

if (!$result) {echo «zapros na viborcu ne proshol.»; mysql_error();}— проверяем если не сформировалась переменная «$result» то выводим на экран текст «zapros na viborcu ne proshol.» И ищем наши ошибки.

$x = mysql_fetch_array($result); — в переменную «$x» записываем результат работы переменной «$result»

$_SESSION[‘talon’] = $x[«counter»]+1; — заносим в сессию «talon» значение «$x» которую взяли из поле «counter» и прибавляем единицу.

$result = mysql_query(«UPDATE posetiteli SET counter = counter + 1», $conn); — меняем (UPDATE) в таблице «posetiteli» значение поле «counter» на то же самое значение плюс один, то есть вы.

mysql_close($conn); — закрываем соединение с базой данных.

<h3 align=»center»><?php echo «Вы являетесь: «.$_SESSION[‘talon’].» посетителем! <br/>Номер Вашей покупки: «.$_SESSION[‘talon’]?></h3> — выводим на экран сессию «talon» это скорее проверка работоспособность нашего кода, чем необходимость.

С html кодом вы должны быть уже знакомы.

1 2 3 4 5

Необходимые файлы и таблицы для создания интернет корзины: 9 комментариев

  1. FerrisBuller

    FerrisBuller подскажите как быть с бд, я импортировал Ваши файлы, но страница index.php не открывается, пишет: Warning: mysql_connect() [function.mysql-connect]: Access denied for user *root***localhost* (using password: YES) in Z:*home*localhost*www*index.php on line 9 Could not connect: Access denied for user *root***localhost* (using password: YES) Как я понимаю что-то не так с именем и паролем у бд, как это исправить?

  2. sasha

    sasha Друзья! Пожалуйста, задавайте свои вопросы на форуме! *FerrisBuller* В файле «bd.php» укажите свой логин и пароль администратора базы данных (логин в место «Имя пользователя» а пароль вместо «Пароль пользователя»)

  3. Игорь

    Игорь Здравствуйте! Не могу ни как написать код графической корзины . Мини-корзина в углу. Опишите пожалуйста как ее сделать!

  4. sasha

    sasha Игорь, мини-корзина в углу — это, по сути, та-же самая корзина, только не в отдельном файле а в блоке на нужных Вам страницах (для удобства подключаются «инклуд-ом» ). Чтобы товары добавлялись не перезагружая страницу нужно использовать «Ajax». Не совсем понял, что такое «графическая корзина».

  5. Сергей

    Сергей Здравствуйте. Подскажите такой момент. Товар в корзину добавляется, но переход на product.php не происходит, пишет: Warning: session_start() [function.session-start]: Cannot send session cache limiter — headers already sent (output started at Z:homeRODNIKUT.BYwwwpageszapisi_tovara.php:3) in Z:homeRODNIKUT.BYwwwpageszapisi_tovara.php on line 4 Warning: Cannot modify header information — headers already sent by (output started at Z:homeRODNIKUT.BYwwwpageszapisi_tovara.php:3) in Z:homeRODNIKUT.BYwwwpageszapisi_tovara.php on line 34 Что может быть не так? Спасибо.

  6. sasha

    sasha Если Вы не редактировали файл «zapisi_tovara.php» то всё должно работать правильно. Но судя по всему, Вы его редактировали… Поэтому, трудно делать какие-то выводы, не видя самого кода который отвечает за запись и обновления таблицы с покупками. Можете прислать код Вашего файла через форму, в разделе «Обратная связь», я посмотрю…

  7. liz

    liz подскажите-«Имя пользователя» и «Пароль пользователя» здесь необходимо вставить то имя которое вы указали при создании базы данных, то есть того кто имеет право доступа к этой базе, и пароль соответственно. может я не помню но я не вводила имён и паролей где взять эти данные

  8. sasha

    sasha Зайдите в панель управления БД «phpmyadmin» выберите из списка ту базу данных которой хотите установить доступ по паролю, и в верхнем правом углу найдите вкладку «Privileges», нажав на неё, появится таблица с пользователями которым разрешен доступ к ней. Дальше можно пойти двумя путями: 1) В низу можно нажать на ссылку «Add a new User» что переводится как «Добавить нового пользователя» дальше нужно-будет указать его имя, пароль и выбрать привилегии для этого пользователя, то есть отметить галочкой те действия которые может совершать этот пользователь (запись, чтение, удаление и т. д. и т. п.). 2) Выбрать из существующего списка одного пользователя и отредактировать, сменить пароль и привилегия (можно выбрать все пункты), далее запоминаем его имя и пароль и вписываем их в файл который подключает нашу БД.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*

code