как удалить указанное значение массива из массива сессии в php - PullRequest
0 голосов
/ 17 сентября 2018

У меня есть простой массив, и я сохраняю его в массиве сессии следующим образом:

$products = array("product A", "product B", "product C");

и

if(isset($_POST['submit']))  {
    $_SESSION['products'] = [];
    if(!empty($_POST['products'])){
        $_SESSION['products'] = $_POST['products'];
        header("Location: checkout.php");
    }
}

ниже приведен код формы, которую я использую:

<form action="" method="post">
    <?php for($x = 0; $x < $prodCount; $x++ ) { ?>
        <input type="checkbox" name="products[]" value="<?php echo $products[$x] ?>"><?php echo $products[$x] ?><br>
    <?php } ?>
    <!--<input type="checkbox" name="vehicle" value="Car" checked="checked"> I have a car<br>-->
        <input type="submit" name="submit" value="submit">
</form>

В checkout.php у меня есть следующий код:

session_start();

if(isset($_SESSION['products'])) {
    foreach($_SESSION['products'] as $prods) {
        $link_address = "remove.php";
        echo "<br>".$prods."<a href='".$link_address."'>Remove</a>";
    }
}
?>
<a href="product.php">back</a>

Теперь мне нужно удалить элемент в chekout.php. Для каждого элемента мне нужно добавить опцию удаления.

У меня есть следующий код в remove.php

session_start();
if(isset($_SESSION['products'])) {    
    $pros = $_SESSION['products'];
    $cntVal = count($pros);
for($z = 0; $z < $cntVal; $z++) {
 unset($_SESSION['products'][$z]);
        echo $_SESSION['products'][$z];
 }
}

Пожалуйста, помогите. Заранее спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...