** Обновление ** я получил сценарий для работы, но я хотел бы иметь возможность удалить продукт, а также ...Создание «Корзина» с сохраненной сессии
это мой код сейчас:
<?php
session_start();
if (!array_key_exists('products', $_SESSION) || !is_array($_SESSION['products'])) {
$_SESSION['products'] = [];
}
$productName = array_key_exists('productName', $_POST) ? (string) $_POST['productName'] : '';
if ($productName) {
$_SESSION['products'][] = $productName;
}
?>
<h4>Saved Items</h4>
<?php foreach ($_SESSION['products'] as $product): ?>
<div class="echo-product"><i style="color:#F60;padding-right:20px;" class="fa fa-anchor" aria-hidden="true"></i><?php echo htmlspecialchars($product); ?></div>
<?php endforeach;?>
<div class="btn-01"><p>Offerte aanvragen</p></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
<script>
$(function(){ // $(document).ready shorthand
$('.btn-01').hide().fadeIn(1000);
});
</script>
Хорошо, позвольте мне объяснить. На моем сайте у меня есть что-то вроде корзины покупок. Клиент выбирает лодку и позволяет сказать (для этого примера) тип лодки и дополнительные предметы.
Когда они это сделают, будет оставлено несколько вариантов.
Теперь посетитель может выбрать «сохранить» лодку и параметры, нажав «сохранить эту опцию». Этот параметр затем сохраняется в сеансе, йота код:
<?php
// Set session variables
$_SESSION["boat"][] = get_the_title();
?>
И вторит используя этот код:
<?php if(isset($_SESSION['boat'])){
echo implode("<br />", array_unique($_SESSION['boat']));
} ?>
Вот первый вопрос:
Этот код прекрасно работает, только если я сохраните первый вариант лодки (есть 3 (A, B, C)), затем он говорит (если я его повторяю) Выбранная лодка A. Но когда я затем сохраняю третью лодку, она говорит: «Лодка A, B И C» сохранена , Тогда он не пропускает лодку B. Я не знаю, почему это так. Кто-нибудь знает? И как это исправить?
Хорошо, второй вопрос. Тот же код. Как я могу сделать это так, чтобы сохраненная опция была видна в div #saved-options
, как своего рода корзина с добавлением элементов, и было бы здорово, если бы их тоже можно было удалить.
Если я использую этот код:
<div class="col-sm-2">
<div id="saved-boats">
<h4>Saved boats</h4>
<?php if(isset($_SESSION['boat'])){
echo implode("<br />", array_unique($_SESSION['boat']));
} ?>
</div>
Тогда все лодки уже сохранены. Я могу уничтожить сессию, используя этот код:
<div class="col-sm-2">
<div class="saved-boats">
<h4>Saved boats</h4>
<?php
// remove all session variables
session_unset();
// destroy the session
session_destroy();
?>
<?php if(isset($_SESSION['boat'])){
echo implode("<br />", array_unique($_SESSION['boat']));
} ?>
</div>
Тогда я это работает, с проблемой 1, но хорошо, но я до сих пор не могу обновление Авто div #saved-boats
.
Есть ли кто-нибудь, кто мог бы помочь мне с этими проблемами? Заранее спасибо.
Вам необходимо создать массив в сеансе. в то время как обновление сначала получает этот массив из сеанса, а затем обновляет его и сохраняет его обратно на этот сеанс. – eronax59
Используя этот код: ' Php // Установить переменные сеанса $ _SESSION [" boat "] [] = get_the_title(); ?> 'Мне сказали, что я делаю массив? @RonakP – Steggie
да, так что, как я уже сказал. получить массив, обновить его и сохранить его – eronax59