phpbar.de logo

Mailinglisten-Archive

[php] Re: if und include

[php] Re: if und include

Lasar Liepins lasar_(at)_liepins.de
Fri, 5 Nov 99 02:09:10 +0100


Hi.

>Das geht:
>	if ($foo)
>	{	include ("foofoo.php3");
>	}
>
>Das geht nicht:
>	if ($foo)
>		include ("foofoo.php3");
>
>Beim zweiten fall kommt immer dann ein parse-error, wenn innerhalb der
>foofoo.php3 mehr als eine zeile ist...

Ihr verweist doch immer so gerne auf das Manual.

function.include.html :
Because include is a special language construct, you must enclose it
within a statement block if it is inside a conditional block. 

/* This is WRONG and will not work as desired. */
 
 if ($condition)
     include($file);
 else
     include($other);
 
 /* This is CORRECT. */
 
 if ($condition) {
     include($file);
 } else {
     include($other);
 }
      

When the file is evaluated, the parser begins in "HTML-mode" which will output the contents of the file until the first PHP start tag (<?) is encountered. 

Dumme Lösung:

function myinclude ( $datei )
{ include ( $datei ); }

if ( $eslebt ) myinclude ( "datei.php3" )

Eigene Frage dazu:

Ich habe ein Script, das ein Datei includen soll, wenn eine Abfrage true ergibt:

if ( ereg ( "#INCLUDE1#" , $str ) )
{
$str = str_replace( "#INCLUDE1#", "", $str );
include ( $dir_includes.$include1 );
}

Die Variablen stimmen alle, das Script läuft auch soweit prima.
Nur, wenn $str (eine Zeile aus einer Textdatei) wirklich #INCLUDE1#
enthält (und meines Wissens nach der Code weiterhin ausgeführt wird),
kommt kein Inhalt zum Browser.
Sonst ist alles schön und gut.
Kann mir jemand weiterhelfen?

Tschüss,

Lasar

.sig _____________________________________________________________________
Lasar Liepins . http://www.liepins.de . lasar_(at)_liepins.de . dmoz.org editor



php::bar PHP Wiki   -   Listenarchive