Session probleem/vraag

Status
Niet open voor verdere reacties.

gangstajoe

Gebruiker
Lid geworden
26 mrt 2008
Berichten
22
Hoi mensen,

Ik probeer dingen met sessions te doen, alleen lukt hiet niet erg.

Ik probeer met ID's te werken (in variabelen) en die als session naam (dus: $_SESSION[ $variabele ] = ..... ; ) te gebruiken, en er dan informatie in te zetten.

Alleen mislukt het elke keer weer, en ik ben ten einde raad. :confused:
Heeft iemand misschien een tip?
 
Post je code?

pagina 1:
PHP:
$IDnummer = $_POST['ID'];
$Aantal = $_POST['Aantal'];
$_SESSION[$IDnummer] = $Aantal;

pagina 2:
PHP:
$ID = 5; //gewoon een soort testje, aangezien ik steeds 5 poste
$info = $_SESSION[$ID]
echo 'Het aantal met het ID '.$ID.' is: '.$info;

En nee, het is niet mogelijk om het op een andere manier te koppelen, aangezien het steeds moet blijven.
 
Heb je een aanroep naar de session_start() functie bovenaan elk van die pagina's staan? Ik zie em niet in je code sample namelijk. Als die er niet staan, dan werken $_SESSION variabelen niet.
 
Heb je een aanroep naar de session_start() functie bovenaan elk van die pagina's staan? Ik zie em niet in je code sample namelijk. Als die er niet staan, dan werken $_SESSION variabelen niet.

staat op elke pagina, had 'm inderdaad niet in mn sample staan, maar wel in mn script :p
 
Kun je eens de inhoud van de hele $_SESSION tonen? Misschien dat je data er verkeerd inzit.

Je kunt hem helemaal outputten met var_dump ( $_SESSION )
 
Kun je eens de inhoud van de hele $_SESSION tonen? Misschien dat je data er verkeerd inzit.

Je kunt hem helemaal outputten met var_dump ( $_SESSION )

Heb ik net gedaan, en ik krijg op de eerste pagina:
string(1) "5"


En op de tweede pagina krijg ik:
NULL
NULL
 
Laatst bewerkt:
5? Dat zou betekenen dat je er een string van hebt gemaakt ipv een array... denk dat er iets nog niet helemaal goed zit in je code.
 
5? Dat zou betekenen dat je er een string van hebt gemaakt ipv een array... denk dat er iets nog niet helemaal goed zit in je code.

Dus ik moet dus een string converten in een array?
Ik snap er echt niks meer van..
Maar op de 2e pagina krijg ik niet eens de inhoud te zien, heeft dat dan ook te maken dat het een string is?
 
Laatst bewerkt:
Nee je had het een array moeten laten...

Heb je volledige error reporting? Zet die eens helemaal bovenaan je code:
PHP:
error_reporting( E_ALL );

Krijg je notices? Het zou kunnen dat je ergens nog een fout hebt zitten.
 
Nee je had het een array moeten laten...

Heb je volledige error reporting? Zet die eens helemaal bovenaan je code:
PHP:
error_reporting( E_ALL );

Krijg je notices? Het zou kunnen dat je ergens nog een fout hebt zitten.

Ja, ik krijg op alle twee de pagina's fouten.

pagina 1:

Code:
Notice: Unknown: Skipping numeric key 2 in Unknown on line 0


pagina 2:

Code:
Notice: Undefined index: 1 line 22

Notice: Undefined index: 2 line 22

de lijnen waar het mis nee gaan (2e pagina):
Code:
lijn 11:  $WagenAantal = $_SESSION[$Nummer];

trouwens, ik verander nergens die array in string ofzo, ik haal hem direct uit een $_POST, kan het zijn dat dat het in een string zet?
 
Laatst bewerkt:
Hm, die foutmelding kende ik nog niet. Heb even rondgezocht op het web, het lijkt erop dat het komt omdat numeric keys niet toegestaan zijn in global arrays.

Kun je het eens proberen door de $_SESSION een string key mee te geven?
 
Hm, die foutmelding kende ik nog niet. Heb even rondgezocht op het web, het lijkt erop dat het komt omdat numeric keys niet toegestaan zijn in global arrays.

Kun je het eens proberen door de $_SESSION een string key mee te geven?

Bedoel je dat ik de session naam een string geef, in een variabele, of..?
Nouja, ik probeer dat wel even, en als ik ernaast zat, zeg het maar even :p

EDIT:
Heb net de variabele die de naam van de session bepaalt een standaard text gegeven, die doet het wel. Dus het licht aan dat het geen array is?
 
Laatst bewerkt:
Nee het ligt eraan dat een superglobal blijkbaar geen numerieke keys mag hebben.

Dus dit is fout:

PHP:
$_SESSION[ 1 ] = 'abc';

Maar dit mag wel:

PHP:
$_SESSION[ 'key1' ] = 'abc';

Althans, dat is wat ik van de bugreports van PHP begrepen heb, ik wist het ook niet.
 
Nee het ligt eraan dat een superglobal blijkbaar geen numerieke keys mag hebben.

Dus dit is fout:

PHP:
$_SESSION[ 1 ] = 'abc';

Maar dit mag wel:

PHP:
$_SESSION[ 'key1' ] = 'abc';

Althans, dat is wat ik van de bugreports van PHP begrepen heb, ik wist het ook niet.


hm. Dan moet ik het wat anders gaan oplossen dus..
Nouja, heel erg bedankt voor je hulp, uiteindelijk heb ik er heel wat aan gehad :d
Hartstikke bedankt!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan