SESSION data verdwijnt.
Pagina: « vorige 1 2 3 4 volgende »
$_SESSION["name"] = $_POST['tx_name'];
en vervolgens POST hij het formulier... dan wordt $_SESSION["name"] gevuld met $_POST['tx_name']; Echter, omdat er geen inputvelden zijn en er dus ook geen $_POST waarden zijn zal de waarde van $_POST['tx_name'] resulteren in NULL. Het wordt dus:
$_SESSION["name"] = NULL;
En op deze manier worden al deze waarden op NULL gezet.
Toevoeging op 14/02/2012 23:09:09:
Ozzie PHP op 14/02/2012 23:06:04:
SanThe. Als hij dit in t2 binnen z'n formulier zet:
$_SESSION["name"] = $_POST['tx_name'];
en vervolgens POST hij het formulier... dan wordt $_SESSION["name"] gevuld met $_POST['tx_name']; Echter, omdat er geen inputvelden zijn en er dus ook geen $_POST waarden zijn zal de waarde van $_POST['tx_name'] resulteren in NULL. Het wordt dus:
$_SESSION["name"] = NULL;
En op deze manier worden al deze waarden op NULL gezet.
$_SESSION["name"] = $_POST['tx_name'];
en vervolgens POST hij het formulier... dan wordt $_SESSION["name"] gevuld met $_POST['tx_name']; Echter, omdat er geen inputvelden zijn en er dus ook geen $_POST waarden zijn zal de waarde van $_POST['tx_name'] resulteren in NULL. Het wordt dus:
$_SESSION["name"] = NULL;
En op deze manier worden al deze waarden op NULL gezet.
Dat maakt toch niet uit WAAR dat staat. De POST-waarden komen uit de vorige pagina t1. En niet uit een nog te versturen niet ingevuld formulier.
Ozzie PHP op 14/02/2012 23:06:04:
SanThe. Als hij dit in t2 binnen z'n formulier zet:
$_SESSION["name"] = $_POST['tx_name'];
en vervolgens POST hij het formulier... dan wordt $_SESSION["name"] gevuld met $_POST['tx_name']; Echter, omdat er geen inputvelden zijn en er dus ook geen $_POST waarden zijn zal de waarde van $_POST['tx_name'] resulteren in NULL. Het wordt dus:
$_SESSION["name"] = NULL;
En op deze manier worden al deze waarden op NULL gezet.
$_SESSION["name"] = $_POST['tx_name'];
en vervolgens POST hij het formulier... dan wordt $_SESSION["name"] gevuld met $_POST['tx_name']; Echter, omdat er geen inputvelden zijn en er dus ook geen $_POST waarden zijn zal de waarde van $_POST['tx_name'] resulteren in NULL. Het wordt dus:
$_SESSION["name"] = NULL;
En op deze manier worden al deze waarden op NULL gezet.
@Ozzie: in t2.php wordt de waarde niet opnieuw ingesteld, maar ze bestaan gewoonweg niet. Maar dan moeten deze gegevens al in de sessie staan.
Zoals in de eerdere post:
even
Code (php)
1
2
3
4
2
3
4
<?php
session_start();
echo session_id(); // Deze regel toevoegen op iedere pagina, dan zijn evt. verschillen tussen de sessies te zien.
?>
session_start();
echo session_id(); // Deze regel toevoegen op iedere pagina, dan zijn evt. verschillen tussen de sessies te zien.
?>
Gewijzigd op 14/02/2012 23:12:12 door - Jim -
Staan t1, t2 en t3 wel op dezelfde server, hetzelfde domein?
Dus op het moment dat je op t2 komt zijn de $_SESSION variabelen gevuld vanuit het formulier uit t1. Op het moment dat het formulier in t2 wordt verzonden worden alle $_SESSION variabelen gevuld met lege waarden. Uitzondering is de id omdat die niet uit een $_POST waarde komt.
Toevoeging op 14/02/2012 23:15:05:
- SanThe - op 14/02/2012 23:12:56:
Staan t1, t2 en t3 wel op dezelfde server, hetzelfde domein?
Wooow... zit je aan het bier? :D
Ozzie PHP op 14/02/2012 23:13:32:
Dus op het moment dat je op t2 komt zijn de $_SESSION variabelen gevuld vanuit het formulier uit t1.
Mee eens.
Ozzie PHP op 14/02/2012 23:13:32:
Op het moment dat het formulier in t2 wordt verzonden worden alle $_SESSION variabelen gevuld met lege waarden.
Waarom? Het formulier wordt niet naar t2 maar naar t3 gepost. Dus pagina t2 wordt niet opnieuw geparsed. De session is al gevuld.
Toevoeging op 14/02/2012 23:18:18:
Ozzie PHP op 14/02/2012 23:13:32:
Wooow... zit je aan het bier? :D
- SanThe - op 14/02/2012 23:12:56:
Staan t1, t2 en t3 wel op dezelfde server, hetzelfde domein?
Wooow... zit je aan het bier? :D
Nee, helaas. Chocomel.
Maar het zou kunnen.
Gewijzigd op 14/02/2012 23:19:14 door - SanThe -
Ozzie PHP op 14/02/2012 23:13:32:
...
Dus op het moment dat je op t2 komt zijn de $_SESSION variabelen gevuld vanuit het formulier uit t1.
KLOPT
Op het moment dat het formulier in t2 wordt verzonden worden alle $_SESSION variabelen gevuld met lege waarden.
INCORRECT!
Uitzondering is de id omdat die niet uit een $_POST waarde komt.
...
Dus op het moment dat je op t2 komt zijn de $_SESSION variabelen gevuld vanuit het formulier uit t1.
KLOPT
Op het moment dat het formulier in t2 wordt verzonden worden alle $_SESSION variabelen gevuld met lege waarden.
INCORRECT!
Uitzondering is de id omdat die niet uit een $_POST waarde komt.
...
Als de pagina t2 geladen wordt, worden de POST waarden (komend uit t1) in de session geplaatst. No more, no less...
Dat wordt dan ook niet meer verstuurd. Het formulier op t2 is dus, leeg, verstuurd niets anders dan alleen de SUBMIT. De gegevens moeten dan ook in de sessie blijven staan.
Met session_id() kan er dan ook gekeken worden of er telkens een nieuwe sessie wordt gestart of dat een sessie vervolgt wordt.
Dit kan trouwens makkelijk getest worden denk ik.
Freek. Vul het formulier op t1 eens in en verzend het. Als je dan op t2 komt moet je niet op de verzendknop drukken, maar je moet via de browser t3.php aanroepen.
Wil je dat eens proberen? En wat gebeurt er dan?
Ozzie PHP op 14/02/2012 23:21:35:
Freek. Vul het formulier op t1 eens in en verzend het. Als je dan op t2 komt moet je niet op de verzendknop drukken, maar je moet via de browser t3.php aanroepen.
Dat is wel een interessante test. Goed zo Ozzie.
Test het zelf even op de link die ik gepost heb, of bouw 't even...
Kan je het zelf zien...
Freek jansen op 14/02/2012 20:04:42:
wow, boel response. en tot mijn verbazing vrijwel direct .(tja, het was toen al mijn bedtijd) :). tanx guys.
Ik denk dat hij al op één oor ligt. Het is nu reeds later dan toen.
- SanThe - op 14/02/2012 23:16:33:
Nee, helaas. Chocomel.
Maar het zou kunnen.
Maar het zou kunnen.
Ook lekker :)
- Jim - op 14/02/2012 23:05:39:
Ik heb het dus even getest, en eea achter elkaar gezet zoals te zien:
http://phphulp.businessvirtuals.com/82667/
Daar werkt het prima!! Mogelijk een server instelling?
http://phphulp.businessvirtuals.com/82667/
Daar werkt het prima!! Mogelijk een server instelling?
@Jim: Netjes. Tuurlijk werkt het. Maar waarom bij Freek niet is mij nog niet duidelijk.
Gewijzigd op 14/02/2012 23:31:22 door - SanThe -
Ik heb mijn machines alstijd 100% standaard gehouden ivm updates e.d.
session_id() zal telkens verschillen denk ik....??
edit: en daarmee bedoel ik dat ik geen aanpassingen heb gedaan op de default instellingen en geen tweaks om maar iets werkend te krijgen. Dus het gedeelte sessions is ook standaard. Als het bij hem verschilt, is het de mogelijk een server instelling. Dan is nog de vraag welke, en wat te doen.... ???
Gewijzigd op 14/02/2012 23:34:15 door - Jim -
- Jim - op 14/02/2012 23:31:45:
Ik denk dus een server instelling.
Ik denk het niet. Ik heb het idee dat ie stiekum toch twee keer op t2 komt en dat daardoor de session weer geleegd word op die ene hardcoded waarde na. Voor mij het meest logisch.
We zullen het misschien wel horen... :p
Vaag verhaal, maar blijkbaar is Freek al lang in dromenland en het is voor ons nu een beetje koffiedik kijken. Ik ben het eens met SanThe dat ik denk dat er iets in de code fout gaat. Waarom zou het immers van pagina t1 naar t2 wel goed gaan? Misschien handig als Freek morgenochtend even de complete code van t2 en t3 wil posten. Wellicht schept dat meer duidelijkheid en een eventuele oplossing.
http://eurocoinsale.com/test/t1.php gezet, en daarmee ook uitsluitend dat het een server (-inrichting/config) probleem zou zijn.
Info:
in t2 worden wel sql statements gecreeerd. dat is alleen om de SESSION te testen. Er wordt geen verbinding gemaakt met de db zoals je kunt zien.
ik zie dat er nog verder werd gepuzzeld. Wie daarmee door wil gaan, ik heb de files op Info:
in t2 worden wel sql statements gecreeerd. dat is alleen om de SESSION te testen. Er wordt geen verbinding gemaakt met de db zoals je kunt zien.
Gewijzigd op 15/02/2012 13:10:12 door freek jansen
Daarna lijkt die het ook te doen. Ik blijf het vaag vinden, maar zoals gezegd, dat kan aan mijn zeer beperkte kennis van webpages, incl HTML, liggen.
Het lijkt mij juist niet aan de server te liggen want hij maakt precies dezelfde merkwaardige beweging op mijn local server en op de remote server (zie url)
Dat jij concludeerde datie het doet is na mijn wijziging van de metadata verwijderen, vandaar.
Gewijzigd op 15/02/2012 13:38:34 door freek jansen