Navigation mit _POST anstatt _GET

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Navigation mit _POST anstatt _GET

    Hallo zusammen,

    ich bin gerade am lernen mit dem PHP-Sprache umzugehen und habe eine Navigation erstelt.
    Die Navi wird mit _GET angesprochen so das jede Seite in gleiches DIV-Kontainer includet wird und es funktioniert alles einwandfrei.
    Aber ich finde es hässlich wenn im url die ganze Beschreibung zu der Seite aufgelistet ist.
    z.Bsp. www.homepage.com/seite/seite.php?kontainer=seite.php
    Meine Frage ist, wie kann ich das mit _POST ändern bzw. ansprechen, damit die seite so bleibt wie jetzt ist?
    Ich möchte einfach dass alles mit dem "?kontainer=seite.php" nicht zu sehen ist!!!

    Code:
    PHP-Code:
    <?php
        session_start
    ();

        
    error_reporting(E_ALL);
        
    ini_set('display_errors'1);

        
    $sprachen = array ( 'de''en''hr' );
        if(isset(
    $_GET['lang']) && in_array($_GET['lang'], $sprachen) ) { 
            
    $_SESSION['language'] = $_GET['lang'];
        }
        else
        { 
            if (!isset(
    $_SESSION['language']))
            {
                
    //default ist immer deutsch 
                
    $_SESSION['language'] = 'de';
            }
        }
        
    //aus dem includeverzeichniss die sprachdatei auslesen 
        
    include("lang/".$_SESSION['language'].".inc.php");

        echo 
    "<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0
    Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>
                <html xmlns='http://www.w3.org/1999/xhtml'>
                <head>
                    <meta http-equiv='content-Type' content='text/html; charset=utf-8' />
                    <title>"
    .$lang['will']."</title>
                    <meta name='keywords' content='Website, Template,
    Webdesign, Webseiten, Vorlagen, Webstranice, Predlosci, Webdizajn' />
                    <meta name='description' content='' />
                    <meta name='author' content='www.seite.com' />
                    <link rel='stylesheet' href='CSS/dizajn.css' type='text/css' charset='utf-8' />
                </head>"
    ;
            echo 
    "<body class='body'>";
            
    // -------------- HAUPT KONTAINER ------------
                
    echo "<div class='glavnaDiv'>";
                    echo 
    "<div class='sirokoStaklo'></div>";
                
    //------------ NAVI --------------
                    
    echo "<div class='o_menu' id='navi'>";
                        include(
    'include/menu.inc.php');
                    
                        echo 
    "<div class='langDiv' id='language' float='left'>";
                            echo 
    "<a href='index.php?lang=de'>
                                    <img src='./slike/de.png?lang=de' width='38' height='38' border='0'
    title='Deutsch' alt='Deutsch' />
                                    </a>
                                    <a href='index.php?lang=hr'>
                                        <img src='./slike/hr.png?lang=hr' width='38' height='38' border='0'
    title='Hrvatski' alt='Hrvatski' />
                                    </a>"
    ;
                        echo 
    "</div>";
                    echo 
    "</div>";
                
    // ----------- MITTE ---------------
                    
    echo "<div class='sredina1' id='sredina1'></div>";
                    echo 
    "<div class='sredina2' id='content_middle'>";
                        echo 
    "<div class='sredinaDiv' id='content_middle'>";
                            if(isset(
    $_GET['content_middle']))
                            {
                                switch (
    $_GET['content_middle'])
                                    {
                                        case 
    "Startseite";
                                        {
                                            include(
    "include/".$_SESSION['language']."_start.inc.php");
                                            break;
                                        }
                                            
                                        case 
    "Vorlage";
                                        {
                                            include(
    "include/".$_SESSION['language']."_vorlage.inc.php");
                                            break;
                                        }
                                        
                                        case 
    "Kontakt";
                                        {
                                            include(
    "include/kontakt.inc.php");
                                            break;
                                        }
                                            
                                        case 
    "Impressum";
                                        {
                                            include(
    "include/".$_SESSION['language']."_impressum.inc.php");
                                            break;
                                        }
                                    }
                            }
                            else
                            {
                                include(
    'include/'.$_SESSION['language'].'_start.inc.php');
                            }
                        echo 
    "<br /></div>";
                    echo 
    "</div>";
                    echo 
    "<div class='sredina3' id='sredina3'></div>";
                
    // ----------- FUSS BEREICH ---------------
                    
    echo "<div class='podnozje'></div>";
                echo 
    "</div>";
            echo 
    "</body>";
        echo 
    "</html>";
    ?>
    Vielen Dank.

    Grüsse
    ViperDuck

  • #2
    Ganz klassisch halt mit einem Formular und dazu Buttons mit den ensprechenden mit dem Namen "kontainer" und entsprechende values.

    Allerdings find ich die Vorgehensweise für einen ziemlichen "Würgaround" - wenn es dir um "schönere" Urls geht, dann guck dir lieber mod_rewrite an - einfach mal google zu dem Begriff befragen.
    Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
    Schön - etwas Geschichte kann ja nicht schaden.
    Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

    Kommentar


    • #3
      GET sollte zum Abfragen von Daten verwendet werden. POST zum Senden von Daten. Was hat POST mit einer Navigation zu tun? Normalerweise gehts ja bei einer Navigation darum Seiten abzufragen und nicht zu senden.

      Kommentar


      • #4
        Ganz dumme Idee, sorry.

        POST ist für Requests gedacht, die Daten verändern; GET für Requests, die Daten anzeigen.

        Zitat von ViperDuck Beitrag anzeigen
        Ich möchte einfach dass alles mit dem "?kontainer=seite.php" nicht zu sehen ist!!!
        Und warum ...?

        Jede vernünftige Webseite funktioniert so - damit kann man einzelne Seiten gezielt ansteuern, auch von extern, kann sie bookmarken, etc.

        Dein Vorhaben würde die Nachteile, die Frames für den Benutzer haben, auf anderem Wege nachbasteln.

        Und dass dann irgendeine Suchmaschine deine Inhalte indiziert, davon wirst du dich auch komplett verabschieden dürfen - die mache keine POST-Requests.


        Alles in allem ist die Idee hirnrissig, und deshalb kann der einzig vernünftige Ratschlag nur lauten: Lass' den Mist.
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          Hallo und Hezlichen Dank an alle.

          @wahsaga: es ist wegen sicherheit, so kann jeder die Seite hacken und deswegen möchte ich nicht dass jeder sieht wie meine scripts funktionieren!!!!

          Also ihr meint ich soll dass so lassen?

          Gruss
          ViperDuck

          Kommentar


          • #6
            es ist wegen sicherheit, so kann jeder die Seite hacken
            Sicherheit?
            Hacken?
            Nöö....

            Wie denn?
            Wir werden alle sterben

            Kommentar


            • #7
              Zitat von ViperDuck Beitrag anzeigen
              es ist wegen sicherheit, so kann jeder die Seite hacken und deswegen möchte ich nicht dass jeder sieht wie meine scripts funktionieren!!!!
              Dann repariere deine vermurksten Scripte.

              Von GET auf POST umzustellen, „hilft“ in Punkto Sicherheit selbstverständlich kein bisschen,
              I don't believe in rebirth. Actually, I never did in my whole lives.

              Kommentar


              • #8
                Okay, werde ich so lassen.

                Herzlichen Dank an alle.

                Gruss
                Viper Duck

                Kommentar


                • #9
                  Wenn deine Scripte so gefährdet sind, solltest du das auf keinen Fall so lassen.

                  Kommentar


                  • #10
                    Ich habe allgemein gedacht, den ich kenn die PHP-Sprache noch nicht so gut und deswegen, will ich nicht das irgend ein Hacker, solche Schwäche bei den Scripts ausnutzt!!!!

                    Danke und Gruss
                    ViperDuck

                    Kommentar


                    • #11
                      will ich nicht das irgend ein Hacker, solche Schwäche bei den Scripts ausnutzt
                      Was meinst du mit "Solche Schwächen"?
                      Und was soll an Post sicher sein als an Get?
                      Wir werden alle sterben

                      Kommentar


                      • #12
                        Zitat von ViperDuck Beitrag anzeigen
                        Ich habe allgemein gedacht, den ich kenn die PHP-Sprache noch nicht so gut und deswegen, will ich nicht das irgend ein Hacker, solche Schwäche bei den Scripts ausnutzt!!!!

                        Danke und Gruss
                        ViperDuck
                        Nur um das noch einmal klar zu machen, POST und GET sind beide veränderbar. Zwar ist es für anfänger leichter oben abzulesen, was gesendet wird, aber jemand der sich auch nur ein wenig damit auseinandersetzt, kann die Requests die der Browser sendet (Darunter fällt natürlich auch POST) so oder so lesen und verändern.
                        Sicherheit bringt dir das ganze also auch nicht wirklich.

                        Kommentar

                        Lädt...
                        X