[PHP] Array kan niet uitgelezen worden bij include

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik heb een vreemd probleem met een stuk code welke opzich prima werkt.

Ik heb een index pagina waar ik in een config, functions, etc in include welke uiteindelijke de pagina opbouwen welke ook werkt.

De config file bevat een array met informatie welke ik in de functions.php gebruik, hiermee wordt een dropdown gevuld, werkt prima.

Nu heb ik een pagina/site waar ik dit verhaal in wil gebruiken. Je zou zeggen, wat je in index.php doet met alle files om je pagina op te bouwen, include dat in je bestaande site, of include de index.php zonder html tags en dergelijke in je site, zorg dat de include paden goed zijn en gaan met die banaan.

Hier blijk ik alleen tegen een probleem aan te lopen.

Wanneer ik de index.php, of gewoon de losse code uit de index.php in mijn eigen pagina wil gebruiken krijg ik foreach() errors in een regel waar de array uit de config.php wordt ingelezen.

Als ik dezelfde index.php die ik include weer handmatig aanroep vanuit een browser werkt alles naar behoren.

Het lijkt er dus op dat de array nooit "aankomt" bij die foreach regel wanneer ik de boel in mijn eigen site/pagina gebruik.

Wanneer ik die array voor de hele foreach inde functions plak, werkt het wel overigens, krijg ik wel errors op andere foreach regels, dus is geen optie. Ik kan de array wel printen met print_r in de index.php als ik deze in mijn site include, zolang ik dat maar doe in de eerste regels waar ik config.php en functions.php include, daaronder, werkt het niet meer.

Ik vind het geen stijl om hele code gaan plakken, want dit is een redelijke lap code/text, maar waarom zou deze array wel ingelezen kunnen worden door de standaard index.php maar niet wanneer deze index.php wordt geinclude in een standaard site/cms/whatever?

Duidt dit op het feit dat er dubbele variabelen zijn ? hier zie ik namelijk niets over in de logs.

Er lijkt een sooirt capsel rond deze array/config file te komen wanneer ik dit verhaal wil includen.

Acties:
  • 0 Henk 'm!

  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

De text is een beetje lastig te lezen.

Maar volgens mij heb je een scope problem

Programmer - an organism that turns coffee into software.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
LuCarD schreef op woensdag 04 juni 2008 @ 11:02:
De text is een beetje lastig te lezen.

Maar volgens mij heb je een scope problem
Dit soort problemen zijn vaak lastig uit te leggen inderdaad, echter ik denk dat je op het goede spoor zit.

Ik gebruik al globals, dus dit zou een uitkomst moeten bieden, zijn er nog meer mogelijkheden ?

Acties:
  • 0 Henk 'm!

  • MueR
  • Registratie: Januari 2004
  • Laatst online: 21-09 14:53

MueR

Admin Tweakers Discord

is niet lief

Ranzige manier: knal die config in een functie die de complete array returned. Ben je meteen van die nog ranziger globals af en je kan hem ook niet overschrijven.

Anyone who gets in between me and my morning coffee should be insecure.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
MueR schreef op woensdag 04 juni 2008 @ 11:50:
Ranzige manier: knal die config in een functie die de complete array returned. Ben je meteen van die nog ranziger globals af en je kan hem ook niet overschrijven.
Wat wil je met die functie waar die config in zit doen dan ?

Ik volg je niet helemaal :)

[ Voor 4% gewijzigd door Verwijderd op 04-06-2008 11:53 ]


Acties:
  • 0 Henk 'm!

  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

Verwijderd schreef op woensdag 04 juni 2008 @ 11:53:
[...]


Wat wil je met die functie waar die config in zit doen dan ?

Ik volg je niet helemaal :)
Aanroepen :)

code:
1
2
3
4
function getconfig() {
$arr = array('displayfunnymessages'=>true);
return $arr;
}


Optioneel zou je het kunnen uitbreiden dat hij een bepaalde key moet terug geven. En controleren of deze wel bestaat of niet....

[ Voor 16% gewijzigd door LuCarD op 04-06-2008 12:02 ]

Programmer - an organism that turns coffee into software.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Het aanroepen op die manier geeft geen oplossing or aanleiding daartoe.

Wellicht dat ik het hele script maar aan moet passen.
Pagina: 1