PHP:由于 header,无法设置 Cookie

PHP: Cannot setCookie due to header

我想为我的购物车设置一个cookie。

这是发送信息的表格。

<form action="winkelwagenValidatie.php" method="POST">
            Aantal: <input class="form-control" type="number" name="aantal" value="1" min="1"><br>
            <input type="hidden" name="id" value="<?php echo($product->getProductId()); ?>">
            <button class="button_red" type="submit">Plaats in winkelwagen</button>
</form>

我发给这个php-file

<?php 
  if(isset($_POST["id"])){
  require_once './DAO/WinkelwagenDAO.php';
  WinkelwagenDAO::vermeerderAantalItems(new WinkelwagenItem($_POST["aantal"], $_POST["id"]));
}

但是我得到这个错误:

Warning: Cannot modify header information - headers already sent by (output started at /home/supermarktcoppen/public_html/DAO/Verbinding/DatabaseFactory.php:25) in /home/supermarktcoppen/public_html/DAO/WinkelwagenDAO.php on line 103

所以在第 103 行的 DAO 中我有这个:

setcookie("winkelwagen", serialize($winkelwagenItemArray));

一切正常,但我无法设置 cookie。

我寻找解决方案,但没有一个可以解决我的问题。

这有帮助:

<?php
ob_start();
if(isset($_POST["id"])){
  require_once './DAO/WinkelwagenDAO.php';
  WinkelwagenDAO::vermeerderAantalItems(new WinkelwagenItem($_POST["aantal"], $_POST["id"]));
  header('location: winkelwagen.php');
}else{
  header('location: bestellen.php');
}