Ik gebruik een class voor de sessions.
Die wordt aangesproken bij het inloggen.
En de sessions zijn in mijn eigen website ondergebracht.
Elke pagina verwijst naar een processorpage.
Deze start de session.
Dit lukt 1 keer.
Wanneer er een redirect gebruikt wordt (bedankpagina en weer terug naar de eerdere pagina)
dan blijft de session wel bestaan, maar ben ik de values kwijt van de session.
Heb zo ongeveer alle mogelijkheden gelezen die dit kunnen veroorzaken gelezen.
En uitgeprobeerd. Maar er verandert niks.
Nu ook de provider maar gevraagd, omdat ik gedeelde server gebruik.
En probleem ook in de php.ini kan zitten.
Iemand nog idee?
$session mag je maar 1 keer aanmaken omdat je maar 1 keer een sessie kan starten. Dat zou ik dan dus niet binnen een functie doen, maar 1 keer, en dan $session meegeven aan je classes en functies.
Dient aan het begin van een pagina aangeroepen te worden indien je een sessie wilt starten/voortzetten.
Dit:
public function set($k, $v, $m, $n){
$_SESSION[$k] = $v;
$_SESSION[$m] = $n;
}
Beperkt heel erg de mogelijkheden van wat je met een sessie kunt doen. In wezen is $_SESSION gewoon een array, en hiermee -als je uitsluitend je Session class gebruikt- reduceer je dit tot een eendimensionaal array.
In principe wordt de session aangemaakt bij het inloggen.
Daarna hoor je normaal toch op elke pagina een session_start() te geven?
In dit geval gebeurt dat centraal vanaf elke pagina...
Kan zijn dat ik wat meer heb neergezet ivm uitproberen..
Is dat anders dan?
De header sluit ik ook normaal af met exit.
Maar hier staat nog wat tekst onder.
En die zie je niet, wanneer je direct de exit doet.
Ik heb een echo ingebouwd..
Die geeft wel de juiste value aan de eerste keer.
Bij herhalen is er geen value.
Maar ik kan ook niet terug naar inloggen.
Ik blijf wel ingelogd omdatde sessie nog wel bestaat.
De sessions worden wel aangemaakt, en zijn ook zichtbaar in de nieuwe dir.
Op dit moment is het belangrijk om voor jezelf overzicht te creëren en dingen ook in afzondering te behandelen. Hiertoe zou ik een apart script maken die enkel sessie-gerelateerde dingen test. Zodat je uit kunt sluiten dat het niet aan sessie-functionaliteit ligt, wat mij om te beginnen al behoorlijk sterk lijkt, tenzij dingen echt verkeerde geconfigureerd zijn.
Normaal kom je ook niet aan instellingen als gc_divis[color=#ff0000]o[/color]r (let op: typefout) en gc_probability, tenzij je aan het finetunen bent. En deze instellen op de default waarde is niet zo zinnig. Wat is trouwens Session_Lifetime? Is dit een constante die je ergens anders hebt gedefinieerd?
Mogelijk loont het ook de moeite om errorlogs te raadplegen en/of wat debugging aan te zetten, zet hiertoe het volgende bovenaan in je code:
De beschrijvingen in de sessionclass heb ik overgenomen van een forum.
Dit heeft blijkbaar te maken met de sessiondir zoals de provider die in heeft gesteld.
En er anders problemen kunnen optreden met de door mij gemaakte dir voor de sessions.
Ik werk op gedeelde server.
Zolang je het probleem niet hebt opgelost heeft het geen zin om aannames te doen over mogelijke oorzaken.
Op dit moment is het gewoon zaak dat je dingen gaat strippen net zolang totdat de problemen verdwijnen of dat je met een (werkende) basis begint en je dit net zolang uitbreidt totdat het niet meer werkt. Dan heb je je probleem te pakken.
Volg de bovenstaande stappen op en zorg er in ieder geval voor dat je met een soort van plan dingen gaat testen.
Sessies zijn in het gebruik absoluut niet moeilijk, dus ik vermoed dat hier dus gewoon iets geks (en redelijk basaals) aan de hand is.
Het inloggen en werken met de session is al vrij geisoleerd.
Maar inderdaad wel slim om dit deel apart op te nemen in een nieuw script.
En te kijken waar het verkeerd gaat.
Wacht ook nog op antwoord van provider.
Als ik wat meer weet, reageer ik weer.
Bedankt tot zover voor de adviezen.
[size=xsmall]Toevoeging op 12/04/2018 11:24:59:[/size]
Ik denk dat ik de fout gevonden heb.
Heb het hele inlogscript nog eens doorgelopen.
Toen kwam ik erachter dat net voor de verwijzing naar de bedankpagina
ik nog een keer de sessie aanmaak.
Weggehaald, en probleem komt niet meer voor nu...
Bedankt voor de reacties.