Nach Umstieg von PHP4 auf PHP5 Problem mit Variablen
Michael
- php
-2 Klawischnigg0 Christoph Schnauß0 Hopsel-1 Michael0 fastix®
0 Michael
Hallo!
Meine Website ist folgendermassen aufgebaut:
------
Header
------
Inhalt
------
Footer
------
Header und Footer werden in "Inhalt" über include in die Seiten eingebunden.
Den Inhalt von <title>...</title> übergebe ich micht einer Variablen, ich nenne sie $titel.
Am Anfang der Inhaltsseiten ist der Inhalt notiert, welcher für den Titel ausgegeben werden soll:
$titel = "Meine Website";
Im Header wird die Varibale dann ausgegeben:
<title><?php echo $titel;?></title>
Das ging alles immer ganz prima, nun hat mein Provider auf PHP5 umgestellt, und es geht nicht mehr. Ich hab schon gesucht aber keinen Hinweis/Fehler gefunden.
Hat jemand eine Idee woran es liegt, dass $titel nicht mehr ausgegeben wird?
Danke!
Hi there,
Hat jemand eine Idee woran es liegt, dass $titel nicht mehr ausgegeben wird?
vermutlich weil irgendein Paranoiker die register_globals auf off gestellt hat resp. das der default wert ist. Da wirst Du Dir einen anderen Provider suchen müssen oder aber die Variablen anders übergeben bzw. auswerten müssen. Schau nach zB unter $HTTP_POST_VARS etc...
hallo,
Im Header wird die Varibale dann ausgegeben:
Naja, mit den Varibalen ist das halt so eine Sache ...
<title><?php echo $titel;?></title>
Sofern die Variable tatsächlich existiert und einen Wert hat und auch noch register_globals auf "on" steht, sollte das funktionieren. Frag deinen Provider nach den Einstellungen in der php.ini. Ein einigermaßen aufschlußreicher Thread dazu liegt bereits im Archiv.
Grüße aus Berlin
Christoph S.
Hi,
Das ging alles immer ganz prima, nun hat mein Provider auf PHP5 umgestellt, und es geht nicht mehr.
ergänzend zu den anderen Antworten kann ich hinzufügen, dass es bei den meisten Providern möglich ist, mehrere PHP-Versionen zu nutzen. Vielleicht hilft es schon, wenn du die Dateien mit der Endung .php4 versiehst.
Alternativ dazu kannst du auch die Endung .php in einer .htaccess-Datei der PHP-Version zuweisen.
MfG Hopsel
Vielen Dank schon mal!
Ich hab meinem Provider geschrieben er möge die Einstellungen für die register_globals ändern.
Mal schauen was draus wird. Vielen Dank für den Tip!
Moin!
Ich hab meinem Provider geschrieben er möge die Einstellungen für die register_globals ändern.
Mal schauen was draus wird. Vielen Dank für den Tip!
Der wird das tunlichst unterlassen und Du wärst ihm früher oder später auch nicht besonders dankbar dafür...
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix®
Hallo!
Mein Provider schrieb mir folgendes:
"[...] durch bestimmte Einträge in die .htaccess-Datei können Sie die Vorgaben der php.ini überschreiben.
In Ihrem Fall wäre der Eintrag "php_flag register_globals on" zu ergänzen."
Ich hab´s probiert, das geht nicht.
Der Vorschlag $_POST zu verwenden mag sinnvoll für Formulare sein, aber ich hab ja gar kein Formular ;)
Im PHP Handbuch steht folgendes:
[Quelle: http://de3.php.net/manual/de/language.variables.scope.php]
"Geltungsbereich von Variablen
Der Geltungsbereich einer Variablen ergibt sich aus dem Zusammenhang, in dem sie definiert wurde. Meistens besteht dieser aus einem einzigen Bereich. Dieser beinhaltet auch den Bereich für Dateien, die per "include"- oder "require"-Anweisung eingebunden wurden, z.B.:
<?php
$a = 1;
include "b.inc";
?>
Die Variable $a ist auch in der eingebundenen Datei b.inc verfügbar."
Eigentlich müsste es also so gehen wie bisher, tut es aber nicht :)
Wie gehe ich denn nun um mit meinen Variablen?
Ich bin nicht so bewandert in PHP... kann jemand ein kurzes konkretes Beispiel posten wie ich eine Variable korrekt definiere (im Moment sieht es so aus:
<?php
$titel = "Seitenname";
include (header.inc.php');
?>
)
und sie dann ausgebe (im Moment:
<title><?php echo $titel;?></title>
)
Danke!