Seite per Link mit neuem Inhalt laden

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

  • Seite per Link mit neuem Inhalt laden

    Hallo,

    ich habe schon nach einer Lösung meines Problems in diesem Forum gesucht, aber nichts gefunden.

    Ich möchte gerne auf einer Seite meiner HP mehrere Links darstellen. Wenn ich nun auf einen dieser Links klicke, soll die Seite neu geladen werden und zwar mit neuem Inhalt. Dieser Inhalt steht in einer jeweiligen Textdatei. Zu jedem Link gehört also eine Textdatei. In der steht der dazugehörige Text. Das Auslesen an sich ist ja nicht das Problem. Sondern wie ich das realisieren kann, per Link die gleiche Seite nochmal aufzurufen nur mit anderem Inhalt eben. Ich möchte dazu nämlich keine Formulare verwenden.

    Versteht jemand mein Problem? Oder rät mir jemand dazu, die Sache doch lieber gleich per MySQL zu regeln?

    Gruß
    Björn

  • #2
    auf der html seite steht da, wo der inhalt reinsoll:
    PHP-Code:
    include($seite
    der link sieht so aus: http://www.deineseite.de/index.php?seite=links.txt

    so in etwa musste das angehen!

    Kommentar


    • #3
      hm ich versteh das nicht so richtig. wahrscheinlich stell ich mich einfach zu blöd an.

      Kommentar


      • #4
        Ich hab etwas ähnliches gerade so gelöst:
        (das steht alles in der index.php)

        diverse Links:

        [...]
        <a href="index.php?menue=0">Home</a>
        [...]
        <a href="index.php?menue=1">Home</a>
        [...]

        wenn ich jetzt auf einen Link klicke, dann wird wieder die
        index.php aufgerufen, mit dem Parameter menue...

        [...]
        switch ($_GET('menue'))
        {
        case 0:
        lade File 0...
        break;
        case 1:
        lade File 1...
        [...]

        Gruss Robert
        --
        keine SIG

        Kommentar


        • #5
          Trifft sich gut, ich will morgen auch sowas starten, deswegen eine weitere Frage dazu:

          Muss ich da mit $_GET[] arbeiten oder reicht auch einfach

          PHP-Code:
          switch $menu 
          Hier könnte Ihre Werbung stehen! Bei Interesse wenden Sie sich bitte an den Inhaber dieser Signatur...

          Kommentar


          • #6
            @ Wuaschdl:

            Gewöhn Dir besser gleich die Schreibweise mit $_GET[] an, da es in Zukunft (teilweise schon jetzt - je nach PHP-Version und Einstellung) mit $menu alleine nicht mehr gehen wird.

            @ Bomania:

            Was genau verstehst Du daran nicht?
            Du baust Dir einfach eine Datei, in der Du das komplette Seitenlayout festlegst. Diese nennst Du z.B. index.php
            In dieser index.php legst Du jetzt einen Bereich fest, in den der Inhalt der Verschiedenen Textdateien geladen wird. An dieser Stelle schreibst Du dann
            PHP-Code:
            include ($_GET['textdatei']); 
            Jetzt legst Du Dir die Links an, die auf die verschiedenen Textdateien verweisen, und zwar folgendermassen:
            <a href="index.php?textdatei=datei1.txt">linktext</a> usw..

            Ein Klick auf diesen Link würde bewirken, dass die index.php neu geladen wird und an der Stelle, an der Du den include machst, würde dann der Inhalt der Datei "datei1.txt" erscheinen.

            Kommentar


            • #7
              > include ($_GET['textdatei']);
              Das ist ein *enormes* Sicherheits-risiko, wenn man es so löst.
              Ich löse das eher so (ist zwar etwas umständlicher aber naja):
              PHP-Code:
              switch($_GET['textdatei']) {
                case 
              'downloads'$datei 'downloads.php'; break;
                case 
              'wasanderes'$datei 'wasanderes.php'; break;
                default: 
              $datei 'default.php';
              }
              require(
              './'.$datei); 
              Zuletzt geändert von Nezzar; 14.11.2002, 14:48.
              "Ach was soll's? Dann bau ich mir halt meinen eigenen Vergnügungspark mit Blackjack und Nutten." - Bender

              Kommentar


              • #8
                Hm, Nezzar mit deiner Methode ist das bei mir ne Endlosschleife - die Seite wird 20000 mal neu in sich selbst geladen (wie ein Spiegeleffekt).
                Der Code sieht bei mir mir folgendermaßen aus:

                <a href="viren.php3?dat=1">linktext</a>

                <?php
                switch($_GET['dat']) {
                case '1': $datei = '1.txt'; break;
                default: $datei = 'viren.php3';
                }
                require($datei);
                ?>

                Außerdem erhalte ich beim Laden der Seite den Fehler "Undefined index: dat"

                Was habe ich falsch gemacht?
                Zuletzt geändert von Bomania; 14.11.2002, 15:04.

                Kommentar


                • #9
                  @ Nezzar:

                  Naja, das mit dem Sicherheitsrisiko ist so nicht ganz richtig.
                  Wenn Du darauf ansprichst, dass damit auch "fremde" Seiten in Deine Layoutseite eingebunden werden können, so gibt es verschiedene Methoden, um das zu verhindern. Oder was meinst Du genau mit Sicherheitsloch?
                  Wenn Du z.B.

                  PHP-Code:
                  include ("ordner/$_GET['textdatei'].txt" 
                  verwendest, können z.B. schonmal nur noch Dateien aus dem Ordner "ordner" mit der Endung ".txt" included werden.
                  Ist nur eine von vielen Möglichkeiten.

                  Ich habe Bomania nur die einfachste Lösung gezeigt.
                  Bei Deiner Lösung tut man sich schon schwer, wenn man mehrere 100 Seiten hat, und immer wieder neue dazukommen.

                  Kommentar


                  • #10
                    Hab ich jetzt mal versucht. Kommt aber "Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING"

                    ============================

                    <a href="viren.php3?dat=1">linktext</a>

                    <?php
                    include ("$_GET['dat'].txt")
                    ?>

                    ============================

                    Kommentar


                    • #11
                      Original geschrieben von zzet
                      @ Nezzar:

                      Wenn Du z.B.

                      PHP-Code:
                      include ("ordner/$_GET['textdatei'].txt" 
                      verwendest, können z.B. schonmal nur noch Dateien aus dem Ordner "ordner" mit der Endung ".txt" included werden.
                      Ist nur eine von vielen Möglichkeiten.
                      sicher ?
                      mit nen bischen Fantasie könnte man vielleicht sowas übergeben

                      PHP-Code:
                      $_GET['textdatei']='1.txt");$handle = opendir("./");while ($file = readdir ($handle)) {echo $file."<br>";} closedir($handle);echo"'
                      TBT

                      Die zwei wichtigsten Regeln für eine berufliche Karriere:
                      1. Verrate niemals alles was du weißt!


                      PHP 2 AllPatrizier II Browsergame

                      Kommentar


                      • #12
                        Help, kann mir keiner weiterhelfen? Was stimmt denn an diesem Quellcode nicht?

                        =========================================

                        <a href="viren.php3?dat=1">linktext</a>

                        <?php
                        include ("$_GET['dat'].txt")
                        ?>

                        =========================================

                        Kommentar


                        • #13
                          @TBT

                          Was genau bewirkt denn das dann?
                          Und was schlägst Du dann vor, um Bomanias Problem "sicher" zu lösen?

                          Kommentar


                          • #14
                            obs funktioniert weiß ich nicht, war nur ne Überlegung, aber rein theoretisch möglich

                            Erklärung:
                            PHP-Code:
                            // Original
                            include ("ordner/$_GET['textdatei']
                            // hier drängelt sich jetzt der Code zwischen !
                            .txt" 
                            );

                            // womit dies entsteht:
                            include ("ordner/1.txt");
                            $handle opendir("./");
                            while (
                            $file readdir ($handle)) {
                               echo 
                            $file."<br>";
                            }
                            closedir($handle);
                            echo (
                            ".txt" ); 
                            der gesammte Verzeichnissinhalt wird angezeigt
                            TBT

                            Die zwei wichtigsten Regeln für eine berufliche Karriere:
                            1. Verrate niemals alles was du weißt!


                            PHP 2 AllPatrizier II Browsergame

                            Kommentar


                            • #15
                              Alles klar, hiermit klappts endlich auch bei mir:

                              <a href="viren.php3?datei=1">linktext</a>
                              <a href="viren.php3?datei=2">linktext2</a></p>

                              PHP-Code:
                              if (isset($_GET['datei'])) {
                              switch(
                              $_GET['datei']) {
                              case 
                              '1'$datei 'v1.txt'; break;
                              case 
                              '2'$datei 'v2.txt'; break;
                              default: 
                              $datei 'v0.txt';
                              }
                              include (
                              $datei);
                              }
                              ?> 
                              Zuletzt geändert von Bomania; 14.11.2002, 16:55.

                              Kommentar

                              Lädt...
                              X