PHP скрипты магазина, навеянные бабкой-соседкой

PHP скрипты магазина

От автора: бабушка-соседка, узнав, что я программирую потихоньку, попросила разработать для ее смартфона (подарили внуки) приложение, которое умело бы торговаться за нее на базаре. Зимой она частенько продает различные солености из овощей, выращенных на собственной даче. В общем, загнала меня бабуля в тупик. Поэтом я культурно «съехал», сказав, что разрабатываю PHP скрипты магазина.

Обманывать нехорошо!

Знаю, что нельзя обманывать стариков. Но от этой продвинутой старушки лучше держаться подальше. Ее даже в «ЖЭКе» боятся, а там еще те «прохвосты». В общем, лучше я расскажу вам, как создать какой-нибудь полезный функционал для торгового ресурса. Как говорится, чтоб ложь была «в тему» :) .

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

Разрабатываемый модуль рассчитан на традиционную структуру построения магазинов. В ней под каждый товар из ассортимента отводится отдельная веб-страница. Это важно, поскольку остальные PHP скрипты для интернет магазина также будут придерживаться данной структуры.

Форма

Создайте новый файл и назовите его index.php. В реальных проектах имя файла будет другое. Но нам важно, чтобы сначала отображалась форма комментирования. Вставьте в созданный файл следующий код HTML:

<form name="otziv" action="enter_comment.php" method="post">
  <p>
    <label>Укажите ваше имя:</label>
    <input type="text" name="user_name" />
  </p>
  <p>
    <label>Поделитесь своим мнением о товаре:</label>
    <br/>
    <textarea name=" otziv_text " cols="40" rows="20"></textarea>
  </p>
  <p>
    <input type="hidden" name="id_tovar" value="15" />
    <input type="submit" value="Опубликовать отзыв" />
  </p>
</form>

Как всегда, стилевые решения я не привожу – оформите по своему вкусу. Вот как форма выглядит в браузере:

Создаем таблицу и сохраняем отзыв

Для хранения введенных через форму комментариев покупателей создадим таблицу, состоящую из 4 столбцов. Один из них будет хранить в себе идентификатор товара, который прописан в скрытом поле id_tovar. Значение идентификатора задано в атрибуте value.

Вот структура таблицы, которую я создал в phpMyAdmin и куда будут записываться все комментарии:

Теперь займемся PHP скриптом для обработки отзывов о магазине. Вот его код:

 <?php
 $user = htmlspecialchars($_POST["user_name"]);
 $otziv= htmlspecialchars($_POST["otziv_text"]);
 $tovar = $_POST["id_tovar"];
 $mysqli = new mysqli('localhost', 'root', '', 'db1');
 $mysqli->query("INSERT INTO `tovar_otziv` (`user_name`,`otziv_text`,`id_tovar`) VALUES ('$user','$otziv','$tovar')");
?>

Выводим мнения покупателей

Для вывода отзывов можно создать отдельную страницу, но лучше все данные о товаре отображать в одном разделе. Так как при реализации данного модуля мы опираемся на определенную структуру. Об этом сказано выше. После добавления комментариев нам нужно вернуться на страницу с формой. В предыдущем файле добавьте строку редиректа:

<?php
 header("Location: ".$_SERVER["HTTP_REFERER"]);
?>

Теперь возвращаемся в index.php и под разметкой формы вставляем следующий код. С его помощью мы осуществляем выборку данных и выводим все мнения покупателей о товаре:

<?php
$tovar = 15;
  $m2 = new mysqli('localhost', 'root', '', 'db1');// Подключается к базе данных
  $res = $m2->query("SELECT user_name,otziv_text FROM `tovar_otziv` WHERE `id_tovar`='$tovar'");
  while ($r = $res->fetch_assoc()) {
    echo "<b>".$r['user_name']."</b><br/>";
    echo $r['otziv_text']."<br/>";
  }
?>

Кстати, с помощью кода примеров этого материала легко создать скрипт корзины для интернет- магазина на PHP. Но это уже тема одной из следующих статей. А пока посмотрим, как работает разработанный нами модуль.

После добавления отзыва через форму в таблицу происходит редирект (перенаправление) пользователя на основную страницу. После чего делам выборку и выводим все мнения о товаре с указанным идентификатором.

P.S. Как старушка поживает? Говорят, на курсы программирования записалась! Теперь мне точно «курдюк-хана». Или переезжать надо, или всю жизнь прятаться от нее придется :) .

Фреймворк YII2: теория и первая практика

Овладейте азами фреймворка Yii2 за 5 дней!

Получить

Метки:

Комментарии Вконтакте:

Комментарии Facebook:

Комментарии (1)

  1. Ден

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

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

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

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Я не робот.

Spam Protection by WP-SpamFree