PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : PHP will nicht mehr



BlackViper
17.09.03, 10:05
Hi Leute, ich habe mir eben mal das SuSE8.2 installiert. Soweit läuft alles wieder, aber php will nicht mehr das machen, was ich gerne will. Bei mir kommt nach dem öffnen der Webseite folgender fehler :

Warning: main(language/.inc.php) [function.main]: failed to create stream: No such file or directory in /srv/www/htdocs/cga/header.php on line 2

in den ersten 2 Zeilen der header.php steht folgendes

if (!$def_lang) {$def_lang="de";}
include("language/".$def_lang.".inc.php");

den Parameter $def_lang übergebe ich an alle anderen php Dateien, aber komischerweise findet er die Datei language/de.inc.php nicht, obwohl sie definitiv genau da vorhanden ist. Es sieht fast so aus, als ob die Parameter nicht mehr funktionieren. Hat sich da in den verschiedenen php Versionen etwas geändert? Unter SuSE 7.3 funktionierte das ganze tadellos.

Hat jemand ne Ahnung wonach ich suchen muß, damit das ganze funktioniert?



MFG Jarno

TheGrudge
17.09.03, 10:35
musst du vielleicht den apache noch installieren / starten?
mehr weiss ich leider auch nicht...

BlackViper
17.09.03, 10:37
Nöö Apache ist installiert und auch gestartet. Normale html Seiten funktionieren ja auch. Selbst php Seiten funktionieren, nur sobald ich eine Seite mit include reinnehme, will das ganze nicht mehr funktionieren.

mfg Jarno

BlackViper
17.09.03, 12:01
So ich habe jetzt mal ein wenig rumprobiert. Ich habe mal schnell eine Testseite erstellt. Diese enthält 4 Frames. Es wird die index.php aufgerufen. Diese öffnet den Frame1 (menu.php), den Frame2 (header.php) und den Frame3 (main.php). In der Main.php öffnen sich wiederrum der Frame4 (intro.php) und der Frame5 (footer.php) Soweit so gut. In der index.php sind die Parameter ($def_lang) noch da. Wenn aber nun dieser parameter z.B. an die header.php übergeben wird, ist dieser dann leer. :confused: Irgendwie ist das ganze unlogisch. Bin ich wirklich der einzige, der dieses Problem hat?

mfg Jarno

PS. Scheinbar funktioniert die gesamte Parameterübergabe an andere PHP Dateien nicht mehr so wie früher. :mad:
Beim Link header.php?def_lang=de kommt z.B. in der header.php nix mehr an.

Stanislaus
17.09.03, 13:42
Original geschrieben von BlackViper
Beim Link header.php?def_lang=de kommt z.B. in der header.php nix mehr an.
Wenn Du die Variable per GET übergibts musst Du die auch per $_GET['def_lang'] abfragen.
GET, POST und SERVER Variablen sind afaik seid der 4.1 nicht mehr superglobal.

BlackViper
17.09.03, 13:57
Ohhh man bin ich blöd :eek: Hunderttausend mal habe ich schon den Kram installiert, aber auf REGISTER GLOBALS bin ich nicht gekommen.
Nönö ich brauche Urlaub...

Danke für den Denkanstoss...


mfg Jarno

Stanislaus
17.09.03, 14:09
Lass bloß register_globals auf off.
Wird in jeden guten PHP Buch, Tutorial ja sogar ettliche male auf der PHP Webseite von abgeraten.
Es hat schon seinen Grund, warum die PHP Entwickler von den Globalen Variablen abstand genommen haben. Du handelst Dir dadurch nur riesige Sicherheitslöcher ein.

Frag die Dinger über $_GET['variablenname'] ab und gut is; dazu musst Du keine globalen Variablen aktivieren.

BlackViper
17.09.03, 14:27
Ah ok, dann werde ich das mal damit probieren. Das einzige ärgerliche daran ist dann nur, daß ich etliches ändern muß. Aber was solls, lieber ein bißchen mehr arbeit als ein Sicherheitsproblem.

danke dir...

Stanislaus
18.09.03, 16:01
Guck Dir zu dem Thema mal folgende Links an:
http://www.johanneshoppe.de/publikationen/Sicherheit%20von%20Webservern.html
http://phptutorials.de/index.php?cat=5&article=28

Spätestens danach weißt Du, warum man mittlerweile drauf verzichten sollte.

So denn ...

BlackViper
19.09.03, 10:47
Hi, vielen Dank für die Links. Ja jetzt weis ich auch was man so alles anstellen kann. Naja einige Sachen davon betreffen meine Webseite nicht, da ich die Variablen nach Ihrem Inhalt prüfe. Aber ich ändere die Seiten doch lieber. Man weis ja nie, ob ich nicht doch irgendwo irgendwann mal etwas ändere, sodaß es zu einem Problem werden könnte.

mfg Jarno

real-challo
19.09.03, 12:33
Ich habe auch etliche selbstgeschriebene PHP-Scripte - O.K. der Zugang ist durch htaccess geschützt, aber daß man php bei "falscher" Programmierung so austricksen kann, hätte ich nicht gedacht.

Gut zu wissen ...