verlinken mit php

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

  • verlinken mit php

    Hallo mal wieder!

    dat thema haben wir (kapitaeniglo und ich *g*) in nem äteren Thread mal angeschnitten. Ich will meine Page mit ein paar links versehen.Wenn ich dann auf diese links klicke , ist es bei HTML ja so dass sich die Page im selben Fenster öffnet , und die Startsite(auf der die links drauf sind)nicht mehr zu sehen ist.Auf Frames möchte ich verzichten , da diese ziemlich noobhaft aussehen . Und da möchte ich jetzt php ins Spiel bringen. Kapitaeniglo hat mir dabei folgendes Script vorgeschlagen:

    PHP-Code:

    <?
    echo "<table width=100%><tr><td>
    <a href=".$_SERVER['PHP_SELF']."?newsaction=1>link1</a><br>
            <a href=".$_SERVER['PHP_SELF']."?newsaction=2>link2</a><br>
           <a href=".$_SERVER['PHP_SELF'].">home</a> </td><td>";

    switch($_GET["newsaction"])
    {
    case 1:
    echo "link 1";
    include ("meineerstesite");
    break;

    case 2:
    echo "link 2";
    include ("meinezweite");
    break;


    default :
    include ("meinedritte");
    break;

    }
     echo "</td></tr></table>";
    ?>
    Theoretisch müsste dies ja klappen(glaub ich?) aber in der Praxis sieht das schon anders aus. Wenn ich auf "link1" klicke , refresht er die Site , aber der Inhalt bleibt der Gleiche(genau wie bei "link2"). Allerdings zeigt er mir bei "home" die Hauptseite(www.meinedomain.com) an. Das script liegt so wie es oben steht im folgenden verzeichniss ->www.meinedomain.de/lalala.php
    "Alkohol ist keine Antwort, aber man vergisst beim Trinken die Frage."
    (Henry Mon)


    http://www.diggicell.de

    Nun auch mit neuen Inhalten

  • #2
    ist vom prinzip her richtig, nur das du so sehr viele swiches machen musst.

    include($_GET[page].".php"); ist wohl besser geeignet.

    Aber das Thema wurde bereits tausendfach im Forum behandelt!

    Kommentar


    • #3
      höhm ... das ist doch aber mehr n tuning als ein troubleshooting oder ?
      Würde nur gerne wissen wieso das oben genannte script net funzt
      Oder einer wär so nett und schreibt ein neues hier rein
      Zuletzt geändert von Diggicell; 31.01.2003, 18:49.
      "Alkohol ist keine Antwort, aber man vergisst beim Trinken die Frage."
      (Henry Mon)


      http://www.diggicell.de

      Nun auch mit neuen Inhalten

      Kommentar


      • #4
        die syntax für das link echo ist falsch und die html syntax auch.

        setz mal ganz oben in dein script:

        error_reporting(E_ALL);

        dann werden dir fehler auch angezeigt.

        PHP-Code:
        echo "<table width=100%><tr><td>
        <a href="
        .$_SERVER['PHP_SELF']."?newsaction=1>link1</a><br>
                <a href="
        .$_SERVER['PHP_SELF']."?newsaction=2>link2</a><br>
               <a href="
        .$_SERVER['PHP_SELF'].">home</a> </td><td>"
        wenn du echo "bla bla"; schreibst, darfst du innerhalb des echo keine "" verwenden, benutze stattdessen ' '.

        wenns nicht unbedingt notwendig ist, lass das $_SERVER['PHP_SELF'] weg und schreib den dateinamen darein.
        wenn dus doch verwenden willst, dann schreib sowas wie:

        PHP-Code:
        <a href='{$_SERVER['PHP_SELF']}?newsaction=1'>link1 
        und verwende für das echo " " aussenherum.


        aber so wärs wohl am besten:
        PHP-Code:
        echo '<table width=100%><tr><td>
        <a href="index.php?newsaction=1">link1
        </a><br>
        <a href="index.php?newsaction=2">link2
        </a><br>
        <a href="index.php">home</a> </td><td>'

        Zuletzt geändert von martin_de; 31.01.2003, 21:47.
        martin

        Kommentar


        • #5
          THX a lot martin , werde ich mal stück für stück ab arbeiten
          "Alkohol ist keine Antwort, aber man vergisst beim Trinken die Frage."
          (Henry Mon)


          http://www.diggicell.de

          Nun auch mit neuen Inhalten

          Kommentar


          • #6
            Hat vieleicht noch wer n besseres script ? Wenn ja: Schnell posten , das verdient dann

            Martin: Koenntest du das komplette script mit deinen überarbeitungen nochmal hier posten bitte ? Du hast dich teilweise ziemlich unklar ausgedrückt
            "Alkohol ist keine Antwort, aber man vergisst beim Trinken die Frage."
            (Henry Mon)


            http://www.diggicell.de

            Nun auch mit neuen Inhalten

            Kommentar


            • #7
              mein vorschlag:

              PHP-Code:
              <?php // <-- immer '<?php' anstatt '<?' verwenden!

              error_reporting(E_ALL); // <-- error_reporting() immer angeben

              echo '<table width="100%"><tr><td>
              <a href="index.php?newsaction=1">link1</a><br>
              <a href="index.php?newsaction=2">link2</a><br>
              <a href="index.php">home</a>
              </td><td>'
              ;

              $action = (!empty($_GET['newsaction'])) ? (int) $_GET['newsaction'] : "";

              switch(
              $action) {
                  case 
              1:
                      echo 
              'link 1';
                      include_once 
              'meine_erste_seite';
                  break;

                  case 
              2:
                      echo 
              'link 2';
                      include_once 
              'meine_zweite_seite';
                  break;

                  case 
              3:
                      echo 
              'mein schädel dröhnt grad viel zu sehr um sowas vernünftig zu schreiben...';
                  break;

                  default:
                      include_once 
              'meine_standard_seite';
                  break;

              }

               echo 
              '</td></tr></table>';
              ?>
              ich hab das nicht getestet und ich fühl mich auch grad nicht in der lage das groß zu erklären.
              wenn du dazu fragen hast, schreib bitte genau was dir nicht klar ist.
              martin

              Kommentar


              • #8
                kewl , vielen dank
                "Alkohol ist keine Antwort, aber man vergisst beim Trinken die Frage."
                (Henry Mon)


                http://www.diggicell.de

                Nun auch mit neuen Inhalten

                Kommentar


                • #9
                  Hallo
                  Auch wenn dieses Thread schon etwas älter ist..
                  aber ne frage hab ich auch dazu.

                  Ich bin da auch noch Anfänger, auch wenn ich schon einiges gebastelt hab.

                  Und zwar mit dem verlinken über die Case anweisung, das hab ich nun gefressen, jedoch wie verhält sich das , wenn ich angenommen
                  eine Layout.php(Layout für alle seiten) hab, dort ne news.php aufrufe, was mir dann in meiner includierten Tabellenzelle angezeigt wird und in der news.php z Bsp wieder ein link auf eine kommentar.php ist
                  das es praktisch dann so aussieht:
                  layout.php?content=news&id=50

                  wie muss ich davor gehen ?

                  Kommentar


                  • #10
                    wenn du es so willst, wie du es ausgedrückt hast:

                    also das newsscript hat einen link: layout.php?cntent=news&id=50, und dass soll dann kommentar zu id50 anzeigen, oder erstellen.

                    dann musst du im news.php nochmal abfragen:

                    PHP-Code:
                    if(isset(ID))
                    // kommentar 

                    Kommentar


                    • #11
                      hmm sorry kann sein das ich mich falsch ausgedrückt hab...
                      aber danke erstmal für die turbo antwort

                      wenn du zu http://www.battlefield-1942.net/
                      gehst und dort bei den newsbeiträgen auf lesen klickst, das meine ich.
                      das alles im selben fenster angezeigt wird und alles(wie dort) aus der index.php kommt

                      Kommentar


                      • #12
                        dann schreib das doch

                        dann machst du halt

                        layout.php?content=newsread&id=50

                        und dann halt ne entsprechende switch()-anweisung wie oben (von martin) beschrieben.

                        Kommentar


                        • #13
                          hey... habe das mal eingebaut, aber jetzt wird mir das im menü angezeigt ^^ ich hab da irgendwas falschgemacht, wo kann man genau einstellen WO er das einfügt? das menü is nämlich mit "<div id="Menu" style="position: absolute; left: 34; top: 409; width: 115; height: 289; z-index: 2">" angegeben und ich denke mal ich muss das mit dem inhalt auch machen, nur wie?^^danke im voraus!

                          und gleich dazu, wie find ich denn raus wie genau die position sein muss usw.? ^^ sorry ich hab das design von nem andern übernommen ders mir gegeben hat halt und füg da jetz den inhalt ein...
                          -ciao Dare

                          Kommentar

                          Lädt...
                          X