php session werkt niet
Ik ben op dit moment bezig met sessions. Helaas lukt het mij niet om deze in een andere pagina weer op te vragen. de inhoud is dan gewoon leeg. Ik heb al diverse dokumentatie geraadpleegd, maar volgens mij doe ik niets fout. Onderstaande de 2 scripts voor aanmaken en binnenhalen. Hopelijk heeft iemand een idee hoe dit kan gebeuren>
Toevoeging op 16/02/2022 12:49:00:
blijkbaar werkt deze nu ineens wel. vreemd. niets veranderd. Ga er even verder mee aan de slag.
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?php
session_start();
$_SESSION['tabel'] = 'test';
$tabel= $_SESSION['tabel'];
echo $tabel;
?>
session_start();
$_SESSION['tabel'] = 'test';
$tabel= $_SESSION['tabel'];
echo $tabel;
?>
Toevoeging op 16/02/2022 12:49:00:
blijkbaar werkt deze nu ineens wel. vreemd. niets veranderd. Ga er even verder mee aan de slag.
Ik zie ook niks vreemds.
Glitch in the matrix? ;-)
Glitch in the matrix? ;-)
geen idee. werkt nu allemaal, behalve op 1 pagina. zelfde code maar daar is de inhoud weer weg. ik wordt er echt gek van.
Gewijzigd op 16/02/2022 13:32:03 door Paul Weiss
Foutmeldingen al in de logs bekeken of de error afhandeling naar je scherm doorgezet?
nee heb ik niet gedaan. weet even zo niet hoe ik het moet doen. Nu werkt geen enkele pagina meer.
Het is gewoon willekeur lijkt het. ene keer werkt het wel, andere keer niet. zal er nog wel even induiken om te kijken hoe het komt. ga even met een andere variable testen.
Toevoeging op 16/02/2022 19:30:16:
als ik een andere session naam gebruik wordt deze wel weergegeven in de andere pagina. maar gebruik ik tabel dan wordt deze niet weergegeven. Vreemde gang van zaken. iemand een idee?
Het is gewoon willekeur lijkt het. ene keer werkt het wel, andere keer niet. zal er nog wel even induiken om te kijken hoe het komt. ga even met een andere variable testen.
Toevoeging op 16/02/2022 19:30:16:
als ik een andere session naam gebruik wordt deze wel weergegeven in de andere pagina. maar gebruik ik tabel dan wordt deze niet weergegeven. Vreemde gang van zaken. iemand een idee?
Wat is $_SESSION['tabel'] voor soort variabele?
tabel is de naam van de sessie. die wordt als volgt gedefineerd:
session_start();
$_SESSION['tabel']= 'rowsequence';
en op de 2e pagina sla ik deze op in een variabe:
session_start();
$tabel = $_SESSION['tabel'];
session_start();
$_SESSION['tabel']= 'rowsequence';
en op de 2e pagina sla ik deze op in een variabe:
session_start();
$tabel = $_SESSION['tabel'];
Zet je foutafhandeling eens aan:
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
/* rest van je code */
?>
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
/* rest van je code */
?>
zal het eens doen ja. maar het is een vreemde gang van zaken. Kom er binnenkort op terug. Bedankt voor jullie hulp.
Sessies debuggen is lastig om een aantal redenen:
1. PHP sessies doen 'iets' voor je, en het is je niet duidelijk wat precies, anders wist je wel beter te debuggen
2. Of sessies werken hangt ook af van hoe je browser omgaat met cookies, als je PHP sessie al met cookies werkt
3. Hoe je browser reageert op het opnieuw bekijken van dezelfde pagina hangt af van de cache in je browser.
Dus:
Controleer dat je sessies werken, wees er zeker van dat je PHP-script niets naar de browser stuurt voor de aanroep van session_start().
Kijk of PHP denkt dat het is gelukt, session_start() geeft TRUE als het is gelukt, of FALSE als het niet is gelukt.
Check je browser of je een cookie ontvangt, bijvoorbeeld met een plugin in Firefox of zoiets.
Check met je php.ini of er in de directory voor sessies een bestand wordt aangemaakt om de sessie in op te slaan (ik neem aan dat je nog niet een implementatie gebruikt voor SessionHandler)
Leeg de cache van de browser en wis alle cookies, als je opnieuw een sessie wilt testen, voor alle zekerheid.
1. PHP sessies doen 'iets' voor je, en het is je niet duidelijk wat precies, anders wist je wel beter te debuggen
2. Of sessies werken hangt ook af van hoe je browser omgaat met cookies, als je PHP sessie al met cookies werkt
3. Hoe je browser reageert op het opnieuw bekijken van dezelfde pagina hangt af van de cache in je browser.
Dus:
Controleer dat je sessies werken, wees er zeker van dat je PHP-script niets naar de browser stuurt voor de aanroep van session_start().
Kijk of PHP denkt dat het is gelukt, session_start() geeft TRUE als het is gelukt, of FALSE als het niet is gelukt.
Check je browser of je een cookie ontvangt, bijvoorbeeld met een plugin in Firefox of zoiets.
Check met je php.ini of er in de directory voor sessies een bestand wordt aangemaakt om de sessie in op te slaan (ik neem aan dat je nog niet een implementatie gebruikt voor SessionHandler)
Leeg de cache van de browser en wis alle cookies, als je opnieuw een sessie wilt testen, voor alle zekerheid.
Blijf je wel binnen hetzelfde protocol+domein? www.domein.nl is voor de browser een ander domein dan domein.nl (zonder www). http://www.domein.nl (zonder SSL) is niet https://www.domein.nl (met SSL - bijvoorbeeld na een "automatische redirect"). In al die gevallen zal de browser de cookies niet meesturen, en begin je dus met een "verse", lege sessie.
Je kunt dit eenvoudig controleren door te kijken wat je sessie ID is. In de "inspector" van de browser, of gewoon door overal print(session_id()); te doen, dan zie je vanzelf of het ID wijzigt (en dus nieuwe, lege sessie).
Ook bij het redirecten binnen een iframe (van het ene domein naar het andere) laten browsers de bestaande cookies vaak weg (ondanks dat je al eerder op de betreffende site/domein was; heeft iets met sessie kapen/security te maken).
Je kunt dit eenvoudig controleren door te kijken wat je sessie ID is. In de "inspector" van de browser, of gewoon door overal print(session_id()); te doen, dan zie je vanzelf of het ID wijzigt (en dus nieuwe, lege sessie).
Ook bij het redirecten binnen een iframe (van het ene domein naar het andere) laten browsers de bestaande cookies vaak weg (ondanks dat je al eerder op de betreffende site/domein was; heeft iets met sessie kapen/security te maken).
Gewijzigd op 16/02/2022 23:37:43 door Rob Doemaarwat
hoi rob. ik blijf allemaal binnen hetzelfde protocol domein. alles werkt nu trouwens. ben gewoon opnieuw begonnen. wat ik wel anders heb gedaan is dat ik oproepen van de sessie 2 x deed.
1 x direct in de pagina en 1 x in een pagina die via include werd binnengehaald. wellicht dat dat het probleem kon veroorzaken!
Ad ik zal dit allemaal eens bekijken hoe de browser ermee omgaat, maar zoals ik al zei nu werkt alles gewoon.
1 x direct in de pagina en 1 x in een pagina die via include werd binnengehaald. wellicht dat dat het probleem kon veroorzaken!
Ad ik zal dit allemaal eens bekijken hoe de browser ermee omgaat, maar zoals ik al zei nu werkt alles gewoon.




