PHP Including....?

Tikey

InSane Style
ID: 155809
L
20 April 2006
340
29
Hi,

ich habe ein Problem mit meinem neuen Projekt.
Ich wollte mir sehr viel arbeit ersparen. Das hab ich früher immer mit Php (Includen) gemacht, die codes hatte ich mir auch gespeichert aber jetzt funktioniert das alles irgnedwie nicht mehr.

Der Code steht bei mir in der index.php

<?

if ($page == "")
{
$page = "home.php";
}
include ($page);
?>


Da wo ich Texte bzw. Banner rein mach die auf jeder Seite abgezeigt werden soll ist ein einfaches:

<? include("other.php");?>

So jetzt kommt das mysteriöse.
Bei den Links hab ich diesen Code genommen:

<a href="index.php?page=SEITE.php"> Danach noch <img src......></a>

Aber wenn man auf der Seite auf die Links klickt ändert sich nix im Content, der bleibt immer auf Home..

Hier mal der Link: www.tk-gfx.de

Bitte helft mir :)
 
1. niemals direkt das includen was du über die adresszeile vom browser beekommst
2. du hast scheinbar für register_globals=on programmiert und das ist jetzt deaktivert, verwende statt $page $_GET['page'] wenn du die var über die adresszeile bekommst
 
Auf Deinem Server ist vermutlich register_globals = off eingestellt. Das heisst, Du kannst auf Parameter aus der URL nicht mehr einfacher per $parameter zugreifen, sondern musst dies per $_GET['parameter'] tun.
 
register_globals :evil:

Programmier anständig, dann passiert sowas ned :-?
 
register_globals wo kann ich das "Programmieren / ändern"

Gibts noch eine andere Art dies zu umgehen? Der Server gehört nähmlich meinen Kollegen und der is oft nicht zuhause, damit er das ändern könnte :biggrin:
 
register_globals wo kann ich das "Programmieren / ändern"
register_globals ist in der PHP-Konfiguration vorgegeben.
Afaik müsste es auch über .htaccess verändert werden können.

Hierzu halt im
fucking.gif
Manual nachlesen ;)
https://de.php.net/manual/de/ini.php#ini.list

register_globals ist normalerweise immer deaktiviert. Je höher die PHP-Version, desto unwahrscheinlicher, dass noch ein Server die Sicherheitslücke offen lässt.
Wenn du die Wahl hast, lässt du freiwillig die Haustür offen ? Nein. Du musst eben lernen, wie man den Schlüssel benutzt :roll:
 
du wirst register_globals mit der htaccess nicht deaktivieren können, lies dir mal folgendes über GET-Variablen durch, dann bekommst du solche Probleme erst gar net
Doch das geht. Ich habe das auf meinem Webspace so gemacht, weil register_globals dort vom Provider auf on gestellt sind, damit die Scriptkiddies auch mal etwas auf die Reihe bekommen...

Wenn ich es mir über phpinfo() ansehe, dann habe ich jetzt ein Mastervalue mit on und ein Localvalue mit off.

Der Befehl dafür lautet "php_flag register_globals off" bzw. on.

Aber vom vom Einschalten rate ich ab. Dann lieber gleich sauber programmieren.
 
wenn register_globals angestellt ist, ist es gut möglich, dass dein hoster es edir erlaubt auszuschalten, aber anzumachen wird dir höchstwahrscheinlich nicht erlaubt, da du damit ja eine Sicherheitslücke aktivieren kannst