2016-07-20 6 views
0

私のショッピングカートにクッキーを設定したいと思います。PHP:ヘッダのためにクッキーを設定できません

これは情報を送信するためのフォームです。

<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ファイル

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

に送っしかし、私はこのエラーを取得:

setcookie("winkelwagen", serialize($winkelwagenItemArray)); 
:私はこれを持ってライン103上のDAOでそう

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

すべて正常に機能していますが、設定できませんeクッキー。

私は解決策を探しましたが、それ以外のものは私の問題を助けることができません。

+0

をあなたは、ヘッダーを設定しようとする前に、任意のHTML出力があった場合は、ヘッダーを設定することはできません出力バッファリングを使用しない限り。 – RamRaider

+0

が助けになりました。私はob_start()を使用しました。クッキーを設定する前に – Joris

答えて

0

これは助け:

<?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'); 
} 
関連する問題