sessie variabele in loop uitlezen...
Wat ik graag wil maken is het volgende: een pagina mag pas worden geladen als een bepaalde variabele in de sessie "gezet" is naar bijvoorbeeld 'ok', of als het langer duurt dan 6 seconden.
Ik heb deze 2 scripts:
testing.php
Quote:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
session_start();
echo 'SESSION ID = ';
echo session_id();
for ($i = 1; $i <= 6; $i++) {
sleep (1);
if ($_SESSION["test"] == 'ok'){
break;
}
}
echo 'klaar!';
# hierna komt pas de code om de volgende pagina te laden...
?>
session_start();
echo 'SESSION ID = ';
echo session_id();
for ($i = 1; $i <= 6; $i++) {
sleep (1);
if ($_SESSION["test"] == 'ok'){
break;
}
}
echo 'klaar!';
# hierna komt pas de code om de volgende pagina te laden...
?>
toTesting.php
Quote:
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?php
session_start();
session_id('e646f20ee4f717808183981a76a46fec');
$_SESSION["test"] = 'ok';
session_start();
?>
session_start();
session_id('e646f20ee4f717808183981a76a46fec');
$_SESSION["test"] = 'ok';
session_start();
?>
Uiteraard is dit maar een testje, want ik moet steeds het sessie_id veranderen in het 2e script. Maar het probleem is dat het niet helemaal werkt zoals ik wil/gedacht had.
Zodra ik testing.php aanroep, en ik doe verder niets, dan verschijnt er na 6 seconden netjes "klaar!" (hoort ook zo te werken, is ook goed!)
Maar ik had gedacht, als ik in de tussentijd ook toTesting.php aanroep, dat hij dan eerder uit de for loop gaat, en bijvoorbeeld al na 3 seconden "Klaar!" toont...
"Klaar!" heb ik even ter test daar gezet. In het "echt" wordt daar gewoon pas de volgende pagina geladen...
Wie kan mij helpen hiermee?
Alvast bedankt,
Sjef
Als je session_start() hebt aangeroepen zijn alle $_SESSION-vars bekend. De inhoud daarvan zal niet meer wijzigen tenzij je dat zelf doet in hetzelfde script. Als je de inhoud wijzigt in een tweede script zal je het eerste script eerst moeten refreshen.
- SanThe - op 18/04/2012 20:54:42:
De tweede session_start() in het tweede script zal een error geven.
Als je session_start() hebt aangeroepen zijn alle $_SESSION-vars bekend. De inhoud daarvan zal niet meer wijzigen tenzij je dat zelf doet in hetzelfde script. Als je de inhoud wijzigt in een tweede script zal je het eerste script eerst moeten refreshen.
Als je session_start() hebt aangeroepen zijn alle $_SESSION-vars bekend. De inhoud daarvan zal niet meer wijzigen tenzij je dat zelf doet in hetzelfde script. Als je de inhoud wijzigt in een tweede script zal je het eerste script eerst moeten refreshen.
Bedankt voor je snelle antwoord!!
Oke, de tweede session_start() heb ik eruit gehaald.
Maar het werkt daarna inderdaad nog niet...
Dat komt dus omdat ik het eerste script moet refreshen zoals je zegt?!
Hoe zou ik dit kunnen doen? Ik ga ervan uit dat je/jullie precies berijpen wat de bedoeling is, dus als er een betere manier is om dit te doen hoor ik het natuurlijk graag...
Het gaat er in ieder geval om dat iets van buitenaf (script2) het laden van script1 kan beinvloeden... ik kan dit ook wel doen door iets naar een textfile te schrijven vanuit script2, en dat in een loop inlezen in script1, maar naar een textfile schrijven om het resultaat te krijgen leek me wat veel van het goede.
Nogmaals bedankt, en ik hoor graag een oplossing :)
Met vr gr,
Sjef
Ik denk dat je inderdaad iets zal moeten met een database of textfile. Met een session lijkt mij onmogelijk.
- SanThe - op 18/04/2012 21:10:30:
Ik denk dat je inderdaad iets zal moeten met een database of textfile. Met een session lijkt mij onmogelijk.
Oke thanks SanThe!!
Dan zat ik er toch niet helemaal naast :-)
Ik weet echt nog bijna niets van PHP, dus dat maakt het wel leuk om te zien dat ik redelijk goed aan het denken was... Het is dus niet "te zwaar" voor de server om dit via fysieke (textfiles) bestanden te doen?
Mvg,
Sjef
Edit:
SanThe, je hebt me in het verleden trouwens ook al vaker geholpen. Ik zag dat je nu zelf een vraag hebt gepost, maar ik kan je helaas niet helpen ermee :( Zou het echter wel graag willen...
SanThe, je hebt me in het verleden trouwens ook al vaker geholpen. Ik zag dat je nu zelf een vraag hebt gepost, maar ik kan je helaas niet helpen ermee :( Zou het echter wel graag willen...
Gewijzigd op 18/04/2012 21:13:53 door sjef dresen