kostenloser Webspace werbefrei: lima-city


verständnis frage zu ?page=start

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    nilswerner

    nilswerner hat kostenlosen Webspace.

    ich habe mir hier (und auch auf anderen seite) das tutorial zu dieser art (?page=start) durchgelesen..aber irgendwie hab ich mal wieder einen durchhänger..und hab jetzt eine frage dazu..

    das soll ja so aussehen:

    <?php
    if(!isset($_GET['action'])) { //wenn die variable action in der url nichts gesetzt ist, wird $action auf start
    $action = 'start'; gesetzt
    } else { // andernfalls wird der inhalt von $_GET['action'] $action zugewiesen
    $action = $_GET['action'];
    }

    // so jetzt ist die variable $action auf jeden fall gesetzt, entweder mit start oder mit dem inhalt $_GET['action'], also das was in der url steht
    switch($action) {
    case 'start': // wenn $action = start dann die startseite includen
    include('start.php');
    break; // die switch schleife abbrechen

    case 'gb': // wenn $action = gb dann das Gästebuch includen
    include('gb.php');
    break;

    /* usw.
    case 'der_wert_von_$action':
    include('welche seite soll includet werden?');
    break;
    */
    } // das } darf nich vergessen werden!



    wenn ich aber jetzt zum beispiel zu der seite seite "gb" verlinken will, muss ich das dann so schreiben: <a href="gb.php">Test</a> ?
    und wo muss der obenstehende php teil mit rein?
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. benutzernaemelchen

    Kostenloser Webspace von benutzernaemelchen

    benutzernaemelchen hat kostenlosen Webspace.

    <a href="nameDerSeiteMitDenIncludes.php?page=gb">

    Denn, wenn $action == "gb", dann wird ja gb.php included.
    Ganz einfach ;)
  4. Autor dieses Themas

    nilswerner

    nilswerner hat kostenlosen Webspace.

    ah ok dann bin ich jetz ma wieder ein wenig schlauer ;)
    danke
  5. addlebrainedcity

    addlebrainedcity hat kostenlosen Webspace.

    Außerdem würde ich nicht mit einer Case-Bedingung arbeiten:

    <?php

    $page = $action . ".php"
    if(file_exists($page))
    {
    include ($page);
    }
    else{
    echo "Seite nicht verfügbar!";
    }

    ?>

    So mache ichs, da kann man sich den ganzen Kram ersparen, alles einzeln zu machen.
    Alternativ kannst du natürlich auch den else-Zweig durch include("FehlerSeite.html"); o.ä. erstzen.

    Mfg
    addlebrainy

  6. Außerdem würde ich nicht mit einer Case-Bedingung arbeiten:

    <?php

    $page = $action . ".php"
    if(file_exists($page))
    {
    include ($page);
    }
    else{
    echo "Seite nicht verfügbar!";
    }

    ?>

    So mache ichs, da kann man sich den ganzen Kram ersparen, alles einzeln zu machen.
    Alternativ kannst du natürlich auch den else-Zweig durch include("FehlerSeite.html"); o.ä. erstzen.

    Mfg
    addlebrainy

    Ja, aber so kann jeder über dein include beliebige Dateien ausführen lassen, die möglicherweise schädlichen Code beinhalten. Die Datei kann auf einem ganz anderen Server liegen (grade wenn allow_url_fopen aktiviert ist) und sobald sie existiert, wird sie ausgeführt. Mit switch{} geht man sicher, dass nur die gewünschten Dateien ausgeführt werden, auch wenn der code dadurch ein wenig länger wird.
    Kurzum: switch ist sicherer.
  7. addlebrainedcity

    addlebrainedcity hat kostenlosen Webspace.

    Dann deaktiviert man allow_url_fopen eben und sorgt dafür, dass auf dem eigenen Server nur "sichere" Scripts liegen :D

    Nein, Scherz beiseite, wie wärs damit:

    <?php
    [..Code..]

    include("content/" . $page . ".php");

    [..Code..]
    ?>

    Das andere war ja nur ein kleines Beispiel, wie man es ohne Switch-Case machen kann.
    Genauso, wie man bei einem Beispiel für einen Verschlüsselungsalgo auch nicht gleich den Sichersten nimmt. Klar, an Beispielen lässt sich (fast) immer noch was verbessern.

    Mfg
    addlebrainy

    Beitrag geaendert: 26.12.2006 9:08:21 von addlebrainedcity
  8. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!