Het is een behoorlijk vreemd probleem. Ik maak een array aan ($arr_faq):
En deze wil ik in een sessie plaatsen:
Vervolgens geef ik de opdracht:
Het probleem
Ik heb eens een stuk of 10x achtereenvolgens dit formulier ingevuld, en soms wordt de array toegevoegd aan de array, en soms niet.
Mogelijke oplossing
Ik vind het niet zo mooi, maar ik doe het volgende tussen de array_push en de header door:
200ms slapen zeg maar. Dit werkt prima, maar vind ik niet de mooiste oplossing.
Mijn vraag:
Ik ben me ervan bewust dat ik hiermee een array kopieer naar een sessie en dat dit (relatief gezien) veel tijd inneemt (de array wordt namelijk ge-memcpy-d naar een andere geheugenruimte). Is dat het probleem dat de array soms wel en soms niet gekopieerd wordt? Wordt de header-functie dan soms eerder uitgevoerd voordat de array_push klaar is?
Is dit dan een bug in php, of kan het zijn dat ze hiervoor bewust gekozen hebben?
Of, en die mogelijkheid schiet me nu te binnen: ligt het aan mij, of aan de IIS6 omgeven?
code:
1
2
3
4
5
6
7
8
| Array ( [4] Array ( [lkjslfkjsdlkjsdl] => [sfsdsdfsdfsdsdsdf] ) [6] Array ( [sadfsdfsdfsdffds] => [sadfsfsdsadsdf] ) ) |
En deze wil ik in een sessie plaatsen:
PHP:
1
| array_push ($_SESSION['add']['faq'], $arr_faq); |
Vervolgens geef ik de opdracht:
PHP:
1
| header("Location:" . $url); |
Het probleem
Ik heb eens een stuk of 10x achtereenvolgens dit formulier ingevuld, en soms wordt de array toegevoegd aan de array, en soms niet.
Mogelijke oplossing
Ik vind het niet zo mooi, maar ik doe het volgende tussen de array_push en de header door:
PHP:
1
| usleep(200000); |
200ms slapen zeg maar. Dit werkt prima, maar vind ik niet de mooiste oplossing.
Mijn vraag:
Ik ben me ervan bewust dat ik hiermee een array kopieer naar een sessie en dat dit (relatief gezien) veel tijd inneemt (de array wordt namelijk ge-memcpy-d naar een andere geheugenruimte). Is dat het probleem dat de array soms wel en soms niet gekopieerd wordt? Wordt de header-functie dan soms eerder uitgevoerd voordat de array_push klaar is?
Is dit dan een bug in php, of kan het zijn dat ze hiervoor bewust gekozen hebben?
Of, en die mogelijkheid schiet me nu te binnen: ligt het aan mij, of aan de IIS6 omgeven?
taste and see that the Lord is good