Registreer FAQ Berichten van vandaag


Ga terug   Scholieren.com forum / Technologie / Software & Hardware
Reageren
 
Topictools Zoek in deze topic
Oud 18-11-2003, 20:02
mvos100
mvos100 is offline
Hmmz ik probeer een winkelmandje te maken doormiddel van een array met de producten op te slaan in een sessie en dan op een andere pagina weer uit te lezen. Maar het wil niet helemaal werken. Krijg steeds maar 1 waarde, het lijkt wel of hij de andere waarde overschrijft.

code waarmee ik in sessie stop

PHP-code:

$p_id 
$_GET['p_id']; 
$Aantal =  $_POST['Aantal']; 

if(isset(
$winkelmandje[$p_id])) 
        { 
         
        
$winkelmandje[$p_id] = $winkelmandje[$p_id] + $Aantal

        } 
else 
        { 
         
        
$winkelmandje[$p_id] = $Aantal
         
        } 
         
$_SESSION['winkelwagentje'] = $winkelmandje
code om hem weer uit te lezen:

PHP-code:

foreach($_SESSION['winkelwagentje'] as $producten
        { 
         
        echo(
"$producten"); 
         
        } 

wat doe ik verkeerd?
Met citaat reageren
Advertentie
Oud 18-11-2003, 20:41
Scooter B0y
Avatar van Scooter B0y
Scooter B0y is offline
serialize & unserialize zijn je vrienden
Met citaat reageren
Oud 18-11-2003, 20:53
Da King
Da King is offline
probeer eens:
PHP-code:
session_register("winkelmandje"); 
in plaats van:

PHP-code:
$_SESSION['winkelwagentje'] = $winkelmandje
Met citaat reageren
Oud 18-11-2003, 21:20
mvos100
mvos100 is offline
Hey thnx Da king het werk!!

Maar waarom werkt dat andere dan niet?
Met citaat reageren
Oud 18-11-2003, 21:23
Koen
Avatar van Koen
Koen is offline
Citaat:
mvos100 schreef op 18-11-2003 @ 22:20:
Hey thnx Da king het werk!!

Maar waarom werkt dat andere dan niet?
Omdat je niet zomaar naar een voorgedefinieerde array als $_SESSION weg mag schrijven. Daar moet je de functies voor gebruiken die daarvoor gemaakt zijn, anders wordt 't nooit onthouden.
Met citaat reageren
Oud 18-11-2003, 21:25
mvos100
mvos100 is offline
Wat bedoel je precies met voor gedefinieerde arrays? en welke functies moet ik dan gebruiken?

Ik weet misschien domme vragen hoor
Met citaat reageren
Oud 19-11-2003, 08:02
Da King
Da King is offline
$_SESSION["winkelmandje"] is een variabele die in de huidige sessie is opgeslagen. Als deze niet bestaat kun je hem dus ook niet aanspreken. Je zult hem dus eerst aan moeten maken met session_register
Met citaat reageren
Oud 19-11-2003, 10:26
Verwijderd
session_register()
Met citaat reageren
Oud 19-11-2003, 12:13
Enlightenment
Avatar van Enlightenment
Enlightenment is offline
?

Ik kan gewoon $_SESSION['blah'] = 2; doen en bij een volgende pageview kan ik deze prima uitlezen. Natuurlijk gebruik je session_register();.
__________________
Per undas adversas (tegen de stroom in)
Met citaat reageren
Oud 22-11-2003, 18:27
Verwijderd
Citaat:
Enlightenment schreef op 19-11-2003 @ 13:13:
?

Ik kan gewoon $_SESSION['blah'] = 2; doen en bij een volgende pageview kan ik deze prima uitlezen. Natuurlijk gebruik je session_register();.
Ik ook, zal wel aan de instellingen (of versie) van PHP liggen!
Met citaat reageren
Oud 10-12-2003, 14:42
Blowie
Blowie is offline
Citaat:
Da King schreef op 19-11-2003 @ 09:02:
$_SESSION["winkelmandje"] is een variabele die in de huidige sessie is opgeslagen. Als deze niet bestaat kun je hem dus ook niet aanspreken. Je zult hem dus eerst aan moeten maken met session_register
Fout.. sterker nog.. session_register gaan eruit.. dat is nog van oudere php versies.. dus waarschijnlijk heeft het persoon in kwestie gewoon een oude php versie
__________________
nr. 3 of The Eleven Rules of the Earth - When in another’s lair, show him respect or else do not go there. -
Met citaat reageren
Oud 13-12-2003, 21:36
Da King
Da King is offline
Citaat:
Blowie schreef op 10-12-2003 @ 15:42:
Fout.. sterker nog.. session_register gaan eruit.. dat is nog van oudere php versies.. dus waarschijnlijk heeft het persoon in kwestie gewoon een oude php versie
vertel nog even duidelijk wat er nou precies fout aan is dan
Met citaat reageren
Oud 17-12-2003, 17:31
Blowie
Blowie is offline
Ik neem aan dat je telkens 1 product doorgeeft? Dus bijvoorbeeld is van add.php?p_id=1&Aantal=12..

FF kijken.. ik neem aan dat bovenin elke pagina session_start(); hebt staan?

Ikke ziet hem al..


PHP-code:
$winkelmandje $_SESSION['winkelwagentje'];
// is belangrijk.. anders is steeds je winkelwagentje leeg

$p_id $_GET['p_id'];  
$Aantal =  $_POST['Aantal'];  

if(isset(
$winkelmandje[$p_id]))
  
$winkelmandje[$p_id] = $winkelmandje[$p_id] + $Aantal;  
else  
  
$winkelmandje[$p_id] = $Aantal;  
          
$_SESSION['winkelwagentje'] = $winkelmandje//huppa .. sessie weer volgooien met het winkelwagentje 
en dan voor het uitlezen:

PHP-code:
foreach ($_SESSION['winkelwagentje'] as $prod_ID => $aantal) {
    echo 
"Je hebt product $prod_ID wel $aantal keer besteld<br>\n";

Dat zou het moeten doen..

---

Ik weet niet helemaal meer waar ik het gelezen had.. maar in ieder geval staat dit in de handleiding:

Citaat:
You can also create a session variable by simply setting the appropriate member of the $HTTP_SESSION_VARS or $_SESSION (PHP >= 4.1.0) array

If $_SESSION (or $HTTP_SESSION_VARS for PHP 4.0.6 or less) is used, assign variable to $_SESSION. i.e. $_SESSION['var'] = 'ABC';

If you are using $HTTP_SESSION_VARS/$_SESSION and disable register_globals, do not use session_register(), session_is_registered() and session_unregister().

If you enable register_globals, session_unregister() should be used since session variables are registered as global variables when session data is deserialized. Disabling register_globals is recommended for both security and performance reason.
Als je een sessie maakt met behulp van session_register() is het een global en kan je hem niet zomaar aanpassen.. maar maak je hem met $_SESSION['blaat'] = "mekker"; dan is ie gweoon vrij aan te passen.. Dan kan je later best zeggen $_SESSION['blaat'] .= "nog een string er aan gvast..";
Het is dan ook niet aan te raden om nog session_geregister te gebruiken.. En al helemaal niet om ze door elkaar te gebruiken..
__________________
nr. 3 of The Eleven Rules of the Earth - When in another’s lair, show him respect or else do not go there. -

Laatst gewijzigd op 17-12-2003 om 17:40.
Met citaat reageren
Advertentie
Reageren


Regels voor berichten
Je mag geen nieuwe topics starten
Je mag niet reageren op berichten
Je mag geen bijlagen versturen
Je mag niet je berichten bewerken

BB code is Aan
Smileys zijn Aan
[IMG]-code is Aan
HTML-code is Uit

Spring naar

Soortgelijke topics
Forum Topic Reacties Laatste bericht
Software & Hardware [PHP]arrays
D@mien
7 26-01-2005 22:24


Alle tijden zijn GMT +1. Het is nu 00:32.