Problem mit Seiten Navigation

ussi

Grünschnabel
Hallo,
ich hab folgendes problem und zwar arbeite ich auf meiner seite in tabellen mit folgendendem script

Code:
$action = $_GET["action"];
if (!isset($action)) { $action = "main"; }
$action = "".$action.".php";
include ($action);

wenn ich jetz z.b. ne datei wie nen gästebuch einbinde (*.php?action=gb) wird das formular nich abgeschickt sonder ich komm einfach wieder auf die *.php zurück anstatt das diese aktion die dann z.b. *.php?action=gb?page=send lauten würd ausgeführt wird - einizge lösung die ich sonst wüsste wär nen i-frame aber kann ich das problem umgehen?
 
Weißt du eigentlich, dass dein Script einfach nur unsicher ist? Wenn ich nun manuell in "action" irgendeinen Wert eintrage, wird das direkt ausgeführt. Gepaart mit einer schlechten PHP-Installation hast du damit ein wunderbares Eingangstor aufgemacht.

Vielleicht liegt der Fehler darin verborgen, so ich dich richtig verstanden habe, dass deine Funktion a) nur das erste Paramter verarbeitet, namentlich action, und du mehrer Parameter per et-Ligatur (&) aneinander bindest.
Beispiel, mit Aufruf von "datei.php?action=gb&page=send".
PHP:
if((isset($_GET["action"])
   && isset($_GET["page"])) 
   && ($_GET["action"] == "gb" 
   && $_GET["page"] == "send"))
{
   include("verabreite_das_abgesende_formular.php"); 
}
 
Zuletzt bearbeitet:
Dankeschön für die schnelle Hilfe,
Ja aba arbeite ich zum beispiel mit $Switch ist das problem ja das sele mit den Seiten für die Formular verarbeitung ( leider :/ )
Was würdest du denn für eine Alternative zu meinem Derzeitigen Script empfehlen?

Allerdings benutze ich das Script in einem Login bereich und jede einzelne eingebundene seite überprüft ob der besucher eine gültige Session besitzt.
 
Leider verstehe ich 90% deines Beitrages nicht.

Ich würde folgendes vorschlagen
PHP:
if(isset($_GET["action"])
{
   switch($_GET["action"])
   {
         case "gb":
            include("blalbla.php");
         break; 
         case "login":
         //usw
   }
}
 
Hallo ich bin auch noch ein recht neuer Neuling in PHP und wo ich hier gerade was mit Unsicher lese usw. danchte ich, ich frage mal nach wie unsicher dieses Script ist?

PHP:
if (!isset($_GET['section']))
{
  $_GET['section'] = "news/index";
}
if (file_exists($_GET['section'].".php"))
{
  include($_GET['section'].".php");
}
else
{
  echo " <br><b><center>Seite nicht Vorhanden.</center></b><br> ";
}
Kann ich das beibehalten? So wie es ist? Oder sollte ich auch auf die Switchfunktion gehen.
Bei dieser Switchfunktion muss ich ja für jeden Link ein Case machen, dann muss ich also wenn ich 100 Links habe 100 Case reinschreiben oder? :rolleyes:
Oder gibt es da wieder eine Variante dieses zu Kürzen irgendwie hab ich das Gefühl das in PHP alles möglich ist :)

Sorry, musste es mal eben Editieren, hatte nen Fehler im Scipt ^^
 
Zuletzt bearbeitet:
Zurück