[php/win32] Var niet beschikbaar in geïnclude file?

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik zit hier al een middag te prutsen op iets, en zelfs met z'n drieeën komen we er niet uit:

Ik heb een index.php waar ik bovenaan het volgende heb staan:

PHP:
1
2
3
4
if ( isset( $_COOKIE['userid'] ) ) {
     // een en ander weggehaald
    $ingelogd = 1;
}


Verder op in de file wil ik een bestand includen:

PHP:
1
include( $aburl . 'rechts.php' );


Volgens de phpmanual zou:
When a file is include()ed, the code it contains inherits the variable scope of the line on which the include() occurs. Any variables available at that line in the calling file will be available within the called file. If the include() occurs inside a function within the calling file, then all of the code contained in the called file will behave as though it had been defined inside that function.
Mijn variabele gewoon beschikbaar moeten zijn in rechts.php. Niet dus, dus eerst kijken of de var uberhaupt wel goed staat:

PHP:
1
2
3
echo $ingelogd;
//geeft netjes 1 weer
include( $aburl . 'rechts.php' );


Dat gaat wél goed. Bij Erkens werkte een dergelijke constructie perfect, dus ik heb uit pure wanhoop php5 maar geinstalleerd om zelfs mijn configuratie uit te sluiten. Zelfs dit mocht niet helpen. Wat doe ik verkeerd :?

Configuratie:
Apache 2.0.5x
PHP 5.0.2 met default php.ini
WinXP SP2

[ Voor 5% gewijzigd door Verwijderd op 03-11-2004 17:02 ]


Acties:
  • 0 Henk 'm!

  • Postman
  • Registratie: Februari 2000
  • Laatst online: 18-09 19:05
Wat staat er in $aburl? Als dat een url is (dus http://www...) dan moet je variabelen meegeven via GET omdat het script dat je include eerst wordt uitgevoerd en dan pas wordt ingevoegd.
If "URL fopen wrappers" are enabled in PHP (which they are in the default configuration), you can specify the file to be included using a URL (via HTTP or other supported wrapper - see Appendix L for a list of protocols) instead of a local pathname. If the target server interprets the target file as PHP code, variables may be passed to the included file using a URL request string as used with HTTP GET. This is not strictly speaking the same thing as including the file and having it inherit the parent file's variable scope; the script is actually being run on the remote server and the result is then being included into the local script.

Acties:
  • 0 Henk 'm!

  • ludo
  • Registratie: Oktober 2000
  • Laatst online: 26-04-2024
Wat staat er in rechts.php? Wat krijg je terug er als je daar var_dump($ingelogd) doet?

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Postman schreef op 03 november 2004 @ 17:09:
Wat staat er in $aburl? Als dat een url is (dus http://www...) dan moet je variabelen meegeven via GET omdat het script dat je include eerst wordt uitgevoerd en dan pas wordt ingevoegd.

[...]
Oh My Fucking God :X totaal niet bij nagedacht :X

Meteen proberen :)

edit: Ik heb maar één ding te zeggen

_/-\o_ _/-\o_ _/-\o_ _/-\o_ _/-\o_ _/-\o_

Totaal niet meer aan gedacht :X Via een vreemde kronkel in mijn hersens heb ik er een url van gemaakt ipv een path

[ Voor 24% gewijzigd door Verwijderd op 03-11-2004 17:22 ]


Acties:
  • 0 Henk 'm!

  • Grijze Vos
  • Registratie: December 2002
  • Laatst online: 28-02 22:17
Dit probleem komt steeds vaker voor. (Tip: zet die fopen wrapper uit, want die heb je nergens voor nodig.)

Misschien moet dit maar eens aan de P&W FAQ worden toegevoegd.

Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Grijze Vos schreef op 03 november 2004 @ 17:23:
Dit probleem komt steeds vaker voor. (Tip: zet die fopen wrapper uit, want die heb je nergens voor nodig.)

Misschien moet dit maar eens aan de P&W FAQ worden toegevoegd.
Nog leuker, ik heb mijn php.ini normaal in c:/php staan en daarin die zooi uitgeschakeld. Dit is de root van php, maar php vind het nodig dat ik mijn windows dir moet vervuilen met een php.ini.

Hij staat inmiddels inderdaad uit. :)
Pagina: 1