Willkommen in der Webstatt
User-1 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?
User-2 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';
}
?>

User-3 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

User-4 am 28.08.06 18:01

Ok, da waren andere schneller :-D

User-1 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

User-5 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

User-1 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,.

User-5 am 28.08.06 19:07

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

// edit

@xyz-207: genau deine Lösung hatte ich in ICQ auch vorgeschlagen *gg*

User-2 am 28.08.06 19:17

Argh, war vorhin zu schnell :P

User-1 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?

User-1 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