Toon posts:

[php] variable niet te gebruiken na include

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hoi:

Ik heb de volgende scripts:

script1.php:
PHP:
1
<? $cfg_Html_Dir = "http://www.blaat.com/"; ?>

script2.php:
PHP:
1
<? print $cfg_Html_Dir; ?>

script3.php:
PHP:
1
<? include($cfg_Html_Dir . "script2.php");?>

Dit lijkt geen nut te hebben, maar ik heb het principe even ingekort.

Je zou nu verwachten dat op het beeldscherm
http://www.blaat.com/
wordt getoond, echter er wordt niets getoond.

---
Maak ik van script 3:
PHP:
1
<?include("http://www.blaat.com/script2.php");?>

Dan wordt keurig netjes de waarde van de variable $cfg_Html_Dir weergegeven.

Heeft iemand enig idee hoe dit kan?
Het lijkt wel dat de variable wordt leeggemaakt als je hem bij het includen (of include_once, require, require_once) gebruikt wordt geleegd.

Maar nog vreemder is dat als ik in script 3 onderaan zet:
print $cfg_Html_Dir . "ok";
Er in beide gevallen wel de waarde van $cfg_Html_Dir wordt afgedrukt met "ok" erachter.

Blijkbaar kan je dus de variabele waarmee je het include-bestand hebt aangeroepen, niet in datzelfde bestand meer gebruiken.

Heeft iemand enig idee hoe dit in elkaar zit?
Ik vond het een vreemde ontdekking moet ik zeggen.

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 15:34
Op vrijdag 12 juli 2002 16:05 schreef FourEyes het volgende:
Maak ik van script 3:
PHP:
1
<?include("http://www.blaat.com/script2.php");?>

Dan wordt keurig netjes de waarde van de variable $cfg_Html_Dir weergegeven.
Dat is merkwaardig, aangezien cfg_Html_Dir uitsluitend in script1 wordt geinitialiseerd en dat script nergens wordt geinclude.

Als je code examples geeft, geef dan wel correcte stukken code alsjeblieft (en code tussen code-tags, svp.)

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 22:40

TeeDee

CQB 241

[disclaimer] weinig verstand van php [/disclaimer]

Maar, kan het niet zo zijn dat ie gaat zoeken in domain: www.blaat.com naar script2.php?

Of denk ik nu debiel? ;?

Heart..pumps blood.Has nothing to do with emotion! Bored


  • HenkS
  • Registratie: Mei 2000
  • Laatst online: 22:08

HenkS

Da_king alias HenkS

ik vind http:// bij de include ook niet echt goed

gewoon vanuit de webroot include("../bestand"); doen, kan volgens mij ook al schelen

en doe in het bestand wat je include gewoon een echo ff weergeven, zie je het meteen

Verwijderd

Topicstarter
Het gaat niet om dat http://www etc etc, maar ik gebruik daar $DOCUMENT_ROOT.

Dit omdat het script op verschillende domeinen straks geinstalleerd moet worden.

En het is wel degelijk de goede volgorde hoor!

script 1 is namelijk een login-script.
script 2 is de weergave van de header van een pagina.
script 3 is de eigenlijke pagina waar het omdraait.

En call me grazy, maar het is echt zo!

script 1 wordt door alle pagina's geinclude
script 2 niet door alle pagina's maar wel zo vaak dat het handig is om als include te gebruiken.

Let wel: het gaat nu niet om de manier van werken, maar om het feit dat de variabele niet meer in de include-file gebruikt kan worden, als die variabele ook voor de aanroep van de include-file is gebruikt!

  • HenkS
  • Registratie: Mei 2000
  • Laatst online: 22:08

HenkS

Da_king alias HenkS

als je een echo in die include zet en het werkt, en je var niet meer dan is het vreemd, maar doet de echo het wel?

Verwijderd

Topicstarter
de print in script2.php
werkt niet als ik hem op de eerste wijze include.
Dat is het vreemde.

Als ik vervolgens na het includen in script 3 ook nog een keer de variabele print dan wordt ie wel getoond.
Pagina: 1