das kommt in die INdex datei
soweit ich weiß müsste durch
das immer wenn ein falscher link angegeben wird main.php aufgerufen
und wenn ich in der adresse Zeile z.b. index?action=news aufrufe müsste normaler weise news.php geöffnet werden, aber es wird nicht, es kommt immer wieder main.php x.x und ich hab keine Ahnung warum
was ist falsch?
Kurze Skripte sind zwar gut, aber sie sollten auch funktionieren. Zum einen erfordert dein Skript aktivierte Register Globals. Davon würde ich abraten. Und da bin ich auch nicht der einzige, da Register Globals nunmal als unsicher gelten. Zum anderen funktioniert file_exists($action.php) nur, wenn php vorher als Konstante definiert wurde. Naheliegend wäre aber: file_exists($action."php").
Hast absolut recht, Tomarus. Aber ich bin mit der Version immer noch nicht zufrieden. Wenn kein 'action' in der URL angegeben wird, kommen Warnmeldungen. Also hier meine kürzere Version:
Wichtig ist, dass die isset-Abfrage zuerst überprüft wird. Ist 'action' nicht in der URL vorhanden, wird die Bedingung gleich als falsch angesehen und der else-Teil tritt ein. Falls 'action' aber angegeben ist und die Datei existiert, so wird sie eingebunden.
Hat noch jemand Vorschläge, wie man es weiter perfektionieren kann?
Hast absolut recht, Tomarus. Aber ich bin mit der Version immer noch nicht zufrieden. Wenn kein 'action' in der URL angegeben wird, kommen Warnmeldungen.
...
? Wassn für Warnmeldungen?! http://www.lucleonhart.de/try/test.php <- Da iss mein script, nur mit echo statt include.. was meinst denn du für warnungen wenn man die jetzt so ohne action aufruft? *gespannt ist* (Zum testen gibt es eine "bla.php" ^^ )
? Wassn für Warnmeldungen?! http://www.lucleonhart.de/try/test.php <- Da iss mein script, nur mit echo statt include.. was meinst denn du für warnungen wenn man die jetzt so ohne action aufruft? *gespannt ist* (Zum testen gibt es eine "bla.php" ^^ )
...
Ich meinte die Warnmeldung, die man sieht, wenn man die aktuelle PHP-Version hat, bei der error_reporting normalerweise auf all gestellt ist. Wenn man eine ältere Version nutzt bzw. sich nicht alle Meldungen ausgeben lässt, sieht man die Warnung nicht (und hat damit einen schwerer übertragbaren Code).
Das Problem ist halt, dass der Index action für $_GET unbekannt ist, wenn in der URL kein action angegeben ist. Man versucht also auf ein Array-Feld über einen nichtdefinierten Index zuzugreifen. Deshalb bietet sich da die isset Abfrage an.
Ich meinte die Warnmeldung, die man sieht, wenn man die aktuelle PHP-Version hat, bei der error_reporting normalerweise auf all gestellt ist.
...
*alle 4 Webserver ausprobiert hat*
Hm.. irgendwie schein ich dann wohl net die aktuellste Version zu haben! *g*
Aber man lernt nie aus, thx für den Tipp!