Willkommen in der Webstatt Zum Webstatt Blog und Stories
Bonze am 28.08.06 17:57

so hab auf meiner hp en script weleches dann unkontrollierte aufuren von seioten verhindert bzw nich existierende bzw seiten die nich in der liste stehen nich zulässt, jetzt hab ich aber das problem das wenn ich einfach meine url aufrufe http://www.xyz.de ja keine seite übergeben wird wie z.B. ?page=news , wie kann ich jetzt meine news seite trotzdem aufrufen, als default wert z.B. ?

hier mal der COde<?


// hier müssen Anpassungen bei neuen Seiten vorgenommen werden:
$erlaubt = array(
'index' => './pages/home.php',
'news' => './pages/news.php',
'bilder' => './pages/bilder.php',
'kerwered' => './pages/kerwered.php',
'guest' => './pages/guest.php',
'links' => './pages/links.php',
'impressum' => './pages/impressum.php'
);
$seite = 'index'; // initialisiert $seite mit einem Default-Wert
// prüft, ob die GET-Variable "seite" gesetzt ist
// und weist bei Erfolg den Wert der Variable $seite
if (isset($_GET['page'])) {
$page = $_GET['page'];
}
// hier kommt der wichtige Check, der prüft ob die Usereingabe gültig ist
if (isset($erlaubt[$page])) {
include $erlaubt[$page];
} else {
// Fehlerbehandlung
print '<b>Fehler</b>: Die angeforderte Seite konnte nicht gefunden werden.';
}
?>j


kann jede idee gebrauchen da mir dazu nichts einfällt,.

netcup.de Warum gibt es hier Werbung?
Sven Sven am 28.08.06 17:59

Den ersten Teil hab ich zwar nicht verstanden, aber ok.....

<?php
if (isset($_GET['page'])) {
$page = $_GET['page'];
} else {
$page = 'news';
}
?>

Snake am 28.08.06 18:00

naja sven, sein script sieht das ja schon vor, nur hat er wohl beim bearbeiten ein fehler gemacht...?
mach aus $seite = 'index'; // initialisiert $seite mit einem Default-Wert ein $page = 'index'; // initialisiert $seite mit einem Default-Wert

Neals am 28.08.06 18:01

Ok, da waren andere schneller :-D

Bonze am 28.08.06 18:03

stimmt scheiss anpassungs fehler ,also
habs jetzt geändert das er mir als default wert die news.php nimmt
$page = 'news'; // initialisiert $seite mit einem Default-Wert

allerdings müsste ich noch ein paar variablen übergeben !
geht das ohne probleme? &news=show

Michael Michael am 28.08.06 18:52

Ja müsste gehen.
Alternativ kannst du es eventuell auch einfach in $_GET schreiben also $_GET['news'] = 'show'; Man hat doch auch schreibenden Zugriff oder?

Alternativ und besser: du baust in deinem Newsscript eine Abfrage ein ob array_key_exists('news',$_GET) und wenn nicht nimmst du den Defaultwert 'show'.

Erstere Vorschlöge sind keine Lösung sondern ein hässliches Workaround. Letzteres die korrekte Vorgehensweise

// edit

Verwechselt. Mit include geht es wohl nicht. Ich dachte irgendwie an file_get_contents... sry

Bonze am 28.08.06 19:04

jo also includiert wird meine datei aber die variablen und die darauf folgende abfrage funktioniert nich ,.
da in meiner news.php steht
if($_GET['news'] == 'show')
{



muss ich ja dieses show übergeben , leider ka wo,
habs zar ausprobiert jeder bekomme ich dann immer nen fehler,.

Michael Michael am 28.08.06 19:07

if(($_GET['news']=='show') || (!array_key_exists('news',$_GET)))

// edit

@Sven: genau deine Lösung hatte ich in ICQ auch vorgeschlagen *gg*

Sven Sven am 28.08.06 19:17

Argh, war vorhin zu schnell :P

Bonze am 28.08.06 22:04

mhh funktioniert nich , ich muss glaube ich die news.php umschreiben ,. hat da jemand ne idee dazu ? oder soll ich lieber das seite erluaben script umschreiben?

wie macht ihr das denn normalerweise?

Bonze am 29.08.06 15:59

so, habs.. mit artemias viorschlag gehts ,. und der $seite zu page ,.

Creative Commons Lizenzvertrag
Alle Inhalte des Webstatt-Archivs stehen unter einer Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 3.0 Unported Lizenz.

Impressum & Kontakt