[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Уведомление после добавления товара в корзину
antonklik
Всем привет. Написан код, который позволяет после клика на ссылку "добавить в корзину", выходит уведомление об успешном уведомлении, проблема в том, что когда просто обновляешь страницу это уведомлении выскакивает при каждом обновлении страницы без клика на кнопку.
Вот код по ссылке:
http://phpfiddle.org/main/code/0res-0wpy

Помогите пожалуйста, исправить эту проблему.
sergeiss
antonklik, код лучше сюда выложи. Не всю страницу, а только ту часть, которая связана с твоей проблемой. И при этом используй тэги оформления кода (кнопки справа-сверху над окном ввода текста).

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
Valick
sergeiss, там кода кот наплакал)

antonklik, на самом деле вы ничего не сохраняете в корзину, у вас её просто нет. Корзина должна быть либо в БД (что гораздо правильнее), либо в куках (что пойдёт на первое время)
Окно у вас выскакивает потому что вы отсылаете гет параметры на сервер, и так они и остаются в адресной строке, можно сделать при закрытии окошка попап редирект средствами JS на вашу страничку уже без гет параметров.

_____________
Стимулятор ~yoomoney - 41001303250491
AllesKlar
Как-то так:

if( ! empty($_SESSION['msg']))
{
echo '<div class="overlay" title="окно"></div>
<div class="popup">
<div class="close_order">x</div>
<p>'
. $_SESSION['msg'] . '</p>
</div>'
;
unset($_SESSION['msg']);
}

if(isset($_GET['goods_id'], $_GET['view'])) {
$goods_id = (int)$_GET['goods_id'];
// добавили товар в корзину
.........
.........
.........

$_SESSION['msg'] = 'Товар успешно добавлен в корзину';
header('location: index.php')
exit;
// если всё хорошо, то пишем сообщение в сессию (хотя, и если плохо, об этом тоже можно сообщить) и уходим.
}


_____________
[продано копирайтерам]
antonklik
Тоесть js править не надо? Добавление и запись в корзину идёт в проекте, здесь часть только)
antonklik
Мне бы лучше, если возможно мой js отредактировать:)
Valick
antonklik и как вы себе это представляете. Боюсь я свой третий глаз не смогу раскрыть так широко, что бы заглянуть к вам в проект. Да и при такой постановке вопроса речь уже о платной услуге.
Хотите бесплатно, будьте любезны прилагайте усилия. Нужны куски кода (как уже сказал sergeiss) причастные к вашему вопросу.


_____________
Стимулятор ~yoomoney - 41001303250491
antonklik
session_start();

/* ===Сумма заказа в корзине + атрибуты товара===*/
function total_sum($goods, $connection){
$total_sum = 0;

$str_goods = implode(',',array_keys($goods));

$query = "SELECT goods_id, name, price
FROM goods
WHERE goods_id IN (
$str_goods)";
$res = mysqli_query($connection, $query) or die(mysqli_error());

while($row = mysqli_fetch_assoc($res)){
$_SESSION['cart'][$row['goods_id']]['name'] = $row['name'];
$_SESSION['cart'][$row['goods_id']]['price'] = $row['price'];
$total_sum += $_SESSION['cart'][$row['goods_id']]['qty'] * $row['price'];
}
return $total_sum;
}
/* ===Сумма заказа в корзине + атрибуты товара===*/

case('addtocart'):
// добавление в корзину
$goods_id = abs((int)$_GET['goods_id']);
addtocart($goods_id);

$_SESSION['total_sum'] = total_sum($_SESSION['cart'], $connection);

// кол-во товара в корзине + защита от ввода несуществующего ID товара
$_SESSION['total_quantity'] = 0;
foreach($_SESSION['cart'] as $key => $value){
if(isset($value['price'])){
// если получена цена товара из БД - суммируем кол-во
$_SESSION['total_quantity'] += $value['qty'];
}else{
// иначе - удаляем такой ID из сессиии (корзины)
unset($_SESSION['cart'][$key]);
}
}

redirect();
break;


<h2><span>Корзина</span></h2>
<
div>
<
p class="onK">
?
php if($_SESSION['total_quantity']): ?>
Товаров в корзине:<br />
<
span><?=$_SESSION['total_quantity']?></span> на сумму <span><?=$_SESSION['total_sum']?></span> руб.
<
img src="<?=TEMPLATE?>images/korzinaON.png" class="korzinaON" />
<
a href="#"><img src="<?=TEMPLATE?>images/oformit.png" class="oformit" alt="Оформить заказ" /></a>
<?
php else: ?>
<
span class="offK">Корзина пуста</span>
<
img src="<?=TEMPLATE?>images/korzinaOFF.png" class="korzinaOFF" />
<?
php endif; ?>
</
p>
</
div>
И подключены:

<
script type="text/javascript" src="js/jquery.cookie.js"></script>
<
script type="text/javascript"> var query = '<?=$_SERVER['QUERY_STRING']?>';</script>
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.