php session werkt niet
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.
Glitch in the matrix? ;-)
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?
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?
session_start();
$_SESSION['tabel']= 'rowsequence';
en op de 2e pagina sla ik deze op in een variabe:
session_start();
$tabel = $_SESSION['tabel'];
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.
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.
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).
Blijf je wel binnen hetzelfde protocol+domein? 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
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.