php session werkt niet

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Paul Weiss

Paul Weiss

16/02/2022 12:18:22
Quote Anchor link
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>

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
session_start();
$_SESSION['tabel'] = 'test';
$tabel= $_SESSION['tabel'];
echo $tabel;
?>


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
session_start();
$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.
 
PHP hulp

PHP hulp

27/06/2022 16:59:40
 
- Ariën  -
Beheerder

- Ariën -

16/02/2022 13:24:23
Quote Anchor link
Ik zie ook niks vreemds.
Glitch in the matrix? ;-)
 
Paul Weiss

Paul Weiss

16/02/2022 13:31:34
Quote Anchor link
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
 
- Ariën  -
Beheerder

- Ariën -

16/02/2022 13:45:48
Quote Anchor link
Foutmeldingen al in de logs bekeken of de error afhandeling naar je scherm doorgezet?
 
Paul Weiss

Paul Weiss

16/02/2022 19:20:13
Quote Anchor link
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?
 
Ward van der Put
Moderator

Ward van der Put

16/02/2022 19:30:47
Quote Anchor link
Wat is $_SESSION['tabel'] voor soort variabele?
 
Paul Weiss

Paul Weiss

16/02/2022 19:45:20
Quote Anchor link
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'];
 
- Ariën  -
Beheerder

- Ariën -

16/02/2022 19:49:20
Quote Anchor link
Zet je foutafhandeling eens aan:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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 */

?>
 
Paul Weiss

Paul Weiss

16/02/2022 19:53:55
Quote Anchor link
zal het eens doen ja. maar het is een vreemde gang van zaken. Kom er binnenkort op terug. Bedankt voor jullie hulp.
 
Ad Fundum

Ad Fundum

16/02/2022 23:22:43
Quote Anchor link
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.
 
Rob Doemaarwat

Rob Doemaarwat

16/02/2022 23:36:30
Quote Anchor link
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).
Gewijzigd op 16/02/2022 23:37:43 door Rob Doemaarwat
 
Paul Weiss

Paul Weiss

17/02/2022 10:23:04
Quote Anchor link
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.
 



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.