Van het ene probleem in het andere

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Stefan groot

stefan groot

16/02/2011 15:46:51
Quote Anchor link
Ik was wel eens nieuwsgierig naar de opzet van een webwinkel dus ik heb even gekeken naar het idee van een lid van deze site (onder de topic: opzet webwinkel). ik kreeg veel fouten tijdens het testen van de scripts. deze heb ik allemaal kunnen oplossen maar nu zit ik er met één waarvoor ik al veel google werk heb verricht maar ik kom er niet uit.
[script]
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
<?php
                   error_reporting(E_ALL);
                    include ('dblog.php');


// update_cart.php

       ob_flush();

// Eenzijdig, maar kijken of die bestaat
if (empty($_SESSION['cart'])) {
  // Nee dus, terugsturen!
     header("Location: cart.php");
}
else {
  // Exploden
  $cart = explode("|",$_SESSION['cart']);

  // Tellen
  $count = count($cart);

  // Alle producten langslopen
  foreach($cart as $products) {
    // Split
    /*
      $product[x] -->
         x == 0 -> product id
         x == 1 -> hoeveelheid
    */

    $product = explode(",",$products);
    $i++;

    $postedProduct = "productnummer_".$i;     // Deze twee om later de geposte waarde te 'spoofen'
    $postedQuantity = "hoeveelheid_".$i;

    if ($product[0] == $_POST[$postedProduct] && $_POST[$postedQuantity] > 0)   // hier dus
    {
      // Update pro
      $inNewCart = $product[0].",".$_POST[$postedQuantity];
      $newCart = $newCart."|".$inNewCart;
    }
  }


  // En weer die luiheid, dus die eerste | eraf...
  $newCart = substr($newCart,1);

  // Oude winkelwagen weg, nieuwe terug
  session_unset($_SESSION['cart']);
  $_SESSION['cart'] = $newCart;

  // En weer terugsturen
  header("Location: cart.php");
}

?>


ik heb hem staan op: www.stefantry.nl/shop/latenzien.php en dan het updaten(moet er eerst iets in het wagentje)
 
PHP hulp

PHP hulp

08/05/2024 06:14:32
 
Joren de Wit

Joren de Wit

16/02/2011 15:51:24
Quote Anchor link
Waarom roep je op regel 8 ob_flush() aan? Output buffering heb je voor dit doel niet nodig en bovendien mis ik dan nog ergens de functie ob_start()...
 
Stefan groot

stefan groot

16/02/2011 15:54:51
Quote Anchor link
ik heb het nu weggehaald en nu staat er alleen nog een warning:
Warning: Cannot modify header information - headers already sent by (output started at /public/sites/www.stefantry.nl/shop/update_cart.php:1) in /public/sites/www.stefantry.nl/shop/update_cart.php on line 13
 
- Mark -

- Mark -

16/02/2011 15:58:09
Quote Anchor link
update_cart.php staat niet toevallig tussen de body tags of wel? Je hebt namelijk output naar de browser, header en session_start bijvoorbeeld vinden dat niet echt leuk.
 
Stefan groot

stefan groot

16/02/2011 16:11:07
Quote Anchor link
ik snap niet helemaal wat je bedoelt mark maar ik denk dat als je het iets anders brengt je nog gelijk hebt ook.
 
- Mark -

- Mark -

16/02/2011 16:14:28
Quote Anchor link
wordt er html of iets boven update_cart.php weergegeven.
 
Stefan groot

stefan groot

16/02/2011 16:16:50
Quote Anchor link
nee update_cart.php is alleen een phpcode (deze hoeft zowiezo geen opmaak te krijgen want hij word toch doorgelinkt)
 
- Mark -

- Mark -

16/02/2011 16:18:57
Quote Anchor link
Heb je toevallig een spatie voor <?php staan? Dit kan ook al roet in het eten gooien.
 
Stefan groot

stefan groot

16/02/2011 16:27:17
Quote Anchor link
ja dat was het probleem1 (nu heb ik er meteen 3bij;))
Notice: Undefined variable: i in /public/sites/www.stefantry.nl/shop/update_cart.php on line 30

Notice: Undefined variable: newCart in /public/sites/www.stefantry.nl/shop/update_cart.php on line 39

Warning: Cannot modify header information - headers already sent by (output started at /public/sites/www.stefantry.nl/shop/update_cart.php:30) in /public/sites/www.stefantry.nl/shop/update_cart.php on line 51
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
<?php
                   error_reporting(E_ALL);
                    include ('dblog.php');
                    session_start();

// update_cart.php



// Eenzijdig, maar kijken of die bestaat

if (empty($_SESSION['cart'])) {
  // Nee dus, terugsturen!
     header("Location: cart.php");
}
else {
  // Exploden
  $cart = explode("|",$_SESSION['cart']);

  // Tellen
  $count = count($cart);

  // Alle producten langslopen
  foreach($cart as $products) {
    // Split
    /*
      $product[x] -->
         x == 0 -> product id
         x == 1 -> hoeveelheid
    */

    $product = explode(",",$products);
    $i++;

    $postedProduct = "productnummer_".$i;     // Deze twee om later de geposte waarde te 'spoofen'
    $postedQuantity = "hoeveelheid_".$i;

    if ($product[0] == $_POST[$postedProduct] && $_POST[$postedQuantity] > 0)   // hier dus
    {
      // Update pro
      $inNewCart = $product[0].",".$_POST[$postedQuantity];
      $newCart = $newCart."|".$inNewCart;
    }
  }


  // En weer die luiheid, dus die eerste | eraf...
  $newCart = substr($newCart,1);

  // Oude winkelwagen weg, nieuwe terug
  session_unset($_SESSION['cart']);
  $_SESSION['cart'] = $newCart;

  // En weer terugsturen
  header("Location: cart.php");
}

?>
 
- Mark -

- Mark -

16/02/2011 16:33:14
Quote Anchor link
Die derde melding krijg je door die andere twee.

Notice: Undefined variable: i in /public/sites/www.stefantry.nl/shop/update_cart.php on line 30

Zet boven je foreach eens $i = 0; $i komt nu opeens uit de lucht vallen.

Notice: Undefined variable: newCart in /public/sites/www.stefantry.nl/shop/update_cart.php on line 39

zelfde verhaal als voorheen.

$newCart = '';
 
- SanThe -

- SanThe -

16/02/2011 16:33:18
Quote Anchor link
Je plukt zo te zien onbekende $vars uit de lucht. Dat gaat niet. Je moet ze altijd eerst bekendmaken.
 
Stefan groot

stefan groot

16/02/2011 16:41:17
Quote Anchor link
bedankt alles is nu opgelost
 
- Mark -

- Mark -

16/02/2011 16:46:22
Quote Anchor link
:p nu een vraag van mijn kant. Waarom werk je met implode en explode? Je kunt die gegevens gewoon opslaan in je cart zonder ze samen te voegen.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.