Mehrere Seiten mit GET-Variablen
nvidia
- php
Hallo liebe Com!
Ich habe momentan für links mit Get-Variablen dieses script:
$go = array();
$go['serverlist'] = 'serverlist.php';
$go['register'] = 'register.php';
$go['news'] = 'news.php';
$go['account'] = 'account.php';
if (isset($_GET['go'], $go[$_GET['go']])) {
include $go[$_GET['go']];
} else {
include $go['news'];
}
gebe ich nun also webseite.de/index.php?go=news ein, kommen die News.
Ich möchte aber jetzt gerne noch weiter gehen, so dass ich mit
webseite.de/index.php?go=news&action=edit
z.B die News bearbeiten kann.
Ich weis aber grad einfach nicht wie -.-
Ich kann ja nicht diesen Script
$go = array();
$go['serverlist'] = 'serverlist.php';
$go['register'] = 'register.php';
$go['news'] = 'news.php';
$go['account'] = 'account.php';
if (isset($_GET['go'], $go[$_GET['go']])) {
include $go[$_GET['go']];
} else {
include $go['news'];
}
wieder auf der news.php einbauen, und verändere das "go" in "action".
Das habe ich auch schon versucht ;)
Wäre nett wenn mir jemand sagen könnte wie ich es machen muss.
Danke im Vorraus;)
Tach!
gebe ich nun also webseite.de/index.php?go=news ein, kommen die News.
Ich möchte aber jetzt gerne noch weiter gehen, so dass ich mit
webseite.de/index.php?go=news&action=edit
z.B die News bearbeiten kann.
Ich weis aber grad einfach nicht wie -.-
include $go[$_GET['go']];
Ein include bindet den zu inkludierenden Code so ein, als ob er an dieser Stelle stünde. Du kannst also im News- und den anderen Scripten genauso auf $_GET zugreifen, wie an dieser Stelle.
dedlfix.
Hello,
Ich habe momentan für links mit Get-Variablen dieses script:
$go = array();
$go['serverlist'] = 'serverlist.php';
$go['register'] = 'register.php';
$go['news'] = 'news.php';
$go['account'] = 'account.php';if (isset($_GET['go'], $go[$_GET['go']])) {
include $go[$_GET['go']];
} else {
include $go['news'];
}
Das ist so schon ganz vernünftig, da der Name der einzubindenden Datei aus einer Übersetzungsliste (dem Array) kommt und nicht direkt aus einer Usereingabe. Denn zweiteres wäre tödlich, wird aber gerne gemacht.
> Ich möchte aber jetzt gerne noch weiter gehen, so dass ich mit
>
> webseite.de/index.php?go=news&action=edit
>
> z.B die News bearbeiten kann.
Da baust Du dir im Modul "news.php" auch wieder an exponierter Stelle, sodass man es leicht findet und dadurch auch gut pflegen kann, eine Mehrfachauswahl ein:
<http://de2.php.net/manual/en/control-structures.switch.php>
[code lang=php]
if (isset($\_GET['action'])
{
switch($\_GET['action'])
{
case 'edit':
include .ht\_news\_edit.inc;
break;
case 'show':
include .ht\_news\_show.inc;
break;
case 'insert':
include .ht\_news\_insert.inc;
break;
default
include 'boeser\_bube\_seite.php'
}
}
else
{
## do nothing except showing backlink
$output['main'] = backlink('home');
}
So \_könnte\_ das aussehen, muss aber selbstverständlich nicht. Du kannst aber schon ahnen, dass es für verschiedene Bereiche ähnliche Aktionen geben könnte. Das könnte man dann ggf. auch durch eine gemeinsame Bibliothek von Funktionen erschlagen, denen Du nur Parameter übergibst.
also edit('news'), edit('account'), usw.
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
![](http://selfhtml.bitworks.de/Virencheck.gif)
--
☻\_
/▌
/ \ Nur selber lernen macht schlau
<http://bergpost.annerschbarrich.de>
hi,
Ich möchte aber jetzt gerne noch weiter gehen, so dass ich mit
example.com/index.php?go=news&action=edit
z.B die News bearbeiten kann.
Ich weis aber grad einfach nicht wie -.-
Du brauchst eine zweckmäßige Parameter-Kontrollstruktur, entweder legst Du dazu eindeutige Schlüsselparameter an, oder erreichst die Eindeutigkeit über zusammengesetzte Schlüssel(Parameter).
Hotti