Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Link Übergabe per $_GET['Variable']

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Link Übergabe per $_GET['Variable']

    Hallo erstmal,

    Ich bin sowohl in dieser Community, als auch im Thema PHP noch ziemlich neu. Da ich nun Urlaub habe und demzufolge auch nicht viel zu tun habe, dachte ich mir "Bauste mal ne kleine Homepage und arbeitest dich ein wenig in PHP ein, weil es nicht schlecht ist, wenn man für seinen Job etwas mehr kann, als benötigt wird ".

    Naja. Habe mich dann am Wochenende hingesetzt um erstmal den HTML-Teil (Tabellen / Layout / etc.) zu basteln, damit ich ein Grundgerüst habe. Ging soweit alles glatt durch, da ich HTML ja schon recht gut kannte.

    Ich habe also eine kleine Homepage gemacht, in der oben ein Banner zu sehen ist, darunter sind 3 Spalten, in denen folgendes enthalten ist:
    Links: Navigation
    Mitte: Eigentlicher Inhalt
    Rechts: Irgendwelche Statistiken / Umfragen

    Das Problem, welches ich nun habe:
    Wenn ich Links in der Navigation einen Link anklicke, wie schaffe ich es, dass der entsprechende Inhalt, den dieser Link repräsentieren soll in der Inhaltsspalte der Tabelle angezeigt wird?
    Ich konkretisier das mal noch ein wenig. Es handelt sich eigentlich um einen ganz einfachen Sachverhalt. Ich habe in der Navigation einen Link namens "News". Wenn ich jetzt auf "News" klicke, möchte ich gern, dass im Tabellen Inhalt eine Nachricht angezeigt wird, die einen kleinen Text enthält.

    Ich weis, dass das mit Includes gemacht wird und die Übergabe der Links per $_GET['variable'] funktioniert. Ich habe mir in einem Tutorial / Manual im Internet auch den entsprechenden Teil durchgelesen, aber leider nicht wirklich verstanden. Es funktioniert wohl ähnlich wie beim Auslesen von Formularen, aber als ich es mit dem Weg probiert habe, hat mich der "Submit"-Button, bzw. der Link "News" auf eine neue Seite navigiert, in der nichts mehr vom Layout zu sehen war, sondern lediglich der Text, der im Inhalt angezeigt werden soll.

    Kann mir vielleicht jemand irgendwie bei meinem Problem helfen?
    Ein kleines Beispiel wäre sehr nett und hilfreich.

    Danke schonmal vorab und Gruß,
    vita

  • #2
    Na im Prinzip hast du schon alles genannt was du brauchst.

    Dein Link:
    index.php?site=news

    Dein include im Content-Bereich:
    PHP-Code:
    if($_GET['site']=='news')
    {
      include(
    'seiten/news.php');

    Das wäre schon alles...

    Kommentar


    • #3
      Hallo Vita,

      Ich gehe mal davon aus, dass du eine index.php hast und in dieser dein Design hast. Nun möchtest du, dass die News anstatt dem Standard-text (der ja auf der index schon vorhanden ist) austauschen möchtest.

      Dazu bietet dir PHP GET Variablen an.

      Du verlinkst einfach auf die gleiche Datei hängst aber noch ein "?site=news" o.ä. an.

      Dann kannst du es im Script so abragen...
      PHP-Code:

      [editWar mal wieder langsamer... ;-)
      $site '';
      if ( ! empty( 
      $_GET'site' ] ) )
        
      $site $_GET'site' ];

      switch( 
      strtolower$site ) )
      {
        case 
      'news':
          
      //hier kommt der newstext rein per include oder wie auch immer
        
      break;
        
      // etc.
        
      default:
          
      // Standarttext der beim Aurfruf der index angezeigt werden soll (ohne das  Paramter übergeben werden
        
      break;

      [edit]War mal wieder langsamer... [/edit]
      [B]Mfg Tomtaz[/B]
      [I]"Es soll jetzt diese Erfindung geben.... Kugel oder so heißt die. Ist so eine Art Suchmaschine..." [/I]:!::shock:

      Kommentar


      • #4
        Du kannst natürlich auch <iframe> benutzen, dieses dann beim Link als Target angeben
        Gruss
        L

        Kommentar


        • #5
          Zitat von cycap Beitrag anzeigen
          Na im Prinzip hast du schon alles genannt was du brauchst.

          Dein Link:
          index.php?site=news

          Dein include im Content-Bereich:
          PHP-Code:
          if($_GET['site']=='news')
          {
            include(
          'seiten/news.php');

          Das wäre schon alles...
          Wenn ich das dann richtig verstehe, holt sich $_GET['site'] die Variable, bzw. den Wert der Variable direkt aus dem eingegebenen Link in der Adresszeile des Browsers?
          Das klingt mir irgendwie zu einfach :/.

          Und wenn das tatsächlich so ist, dann kann ich doch auch mal so lustig sein und zum Beispiel da eingeben http://www.asdf.de/index.php?site=ht...hlagmichtot.de ?

          Kommentar


          • #6
            Zitat von vita Beitrag anzeigen
            Wenn ich das dann richtig verstehe, holt sich $_GET['site'] die Variable, bzw. den Wert der Variable direkt aus dem eingegebenen Link in der Adresszeile des Browsers?
            Das klingt mir irgendwie zu einfach :/.

            Und wenn das tatsächlich so ist, dann kann ich doch auch mal so lustig sein und zum Beispiel da eingeben http://www.asdf.de/index.php?site=ht...hlagmichtot.de ?
            Genau für so einen Fall, musst du auch absichern. Ich habe es in dem Fall mit einen Switch gemacht, man kann es aber auch mit lauter if - else oder else if regeln, wird dann halt schnell unübersichtlich
            [B]Mfg Tomtaz[/B]
            [I]"Es soll jetzt diese Erfindung geben.... Kugel oder so heißt die. Ist so eine Art Suchmaschine..." [/I]:!::shock:

            Kommentar


            • #7
              Dann muss ich jetzt gleich nochmal durch meine ganzen Tabellen gehen und denen irgendwelche abgefahrenen Namen geben, denn das hab ich irgendwie nicht gemacht :P.

              Und ist es nun wirklich so, dass wenn ich zum Beispiel folgenden Link in die Adresszeile eingebe oder aber anklicke: "http://asdf.de/index.php?site=news", dass $_GET['site'] automatisch den Wert "news" erhält, nachdem ich auf den Link klicke?

              Zitat von tomtaz Beitrag anzeigen
              Genau für so einen Fall, musst du auch absichern.
              Wie sichere ich das ab? Reicht das, wenn ich lauter If-Abfragen oder nen Switch einbaue? Oder brauche ich da noch irgendwelche anderen Tricks?

              Kommentar


              • #8
                Zitat von vita Beitrag anzeigen
                Und ist es nun wirklich so, dass wenn ich zum Beispiel folgenden Link in die Adresszeile eingebe oder aber anklicke: "http://asdf.de/index.php?site=news", dass $_GET['site'] automatisch den Wert "news" erhält, nachdem ich auf den Link klicke?
                Ja

                Zitat von vita Beitrag anzeigen
                Wie sichere ich das ab? Reicht das, wenn ich lauter If-Abfragen oder nen Switch einbaue? Oder brauche ich da noch irgendwelche anderen Tricks?
                Ich habe es bei mir zumindest so gelöst. So kann zumindest schon mal keine Externe Seite aufgerrufen werden, die dir eventuell Code injektiert...
                [B]Mfg Tomtaz[/B]
                [I]"Es soll jetzt diese Erfindung geben.... Kugel oder so heißt die. Ist so eine Art Suchmaschine..." [/I]:!::shock:

                Kommentar


                • #9
                  Alles klar. Dann ist damit erstmal alles beantwortet, was ich wissen wollte. Vielen Dank für die schnelle Hilfe .

                  Kommentar


                  • #10
                    Du kannst auch mit Nummern arbeiten, dann brauchste keine 'abgefahrenen Namen' xD aber ansonsten hast du schon alles verstanden, es ist wirklich so einfach

                    Kommentar


                    • #11
                      Zitat von cycap Beitrag anzeigen
                      Du kannst auch mit Nummern arbeiten, dann brauchste keine 'abgefahrenen Namen' xD aber ansonsten hast du schon alles verstanden, es ist wirklich so einfach
                      Das hatte ich auch mal cycap, davon kann ich nur abraten. Irgendwann ist das sooo viel, dass man gar nicht mehr klarkommt und ne Excel Tabelle machen muss für die Befehle...
                      [B]Mfg Tomtaz[/B]
                      [I]"Es soll jetzt diese Erfindung geben.... Kugel oder so heißt die. Ist so eine Art Suchmaschine..." [/I]:!::shock:

                      Kommentar


                      • #12
                        Wenns so viel wird sollte man wohl eher drüber nachdenken die Verknüpfung gleich in einer Datenbank zu speichern...

                        Kommentar


                        • #13
                          Zitat von cycap Beitrag anzeigen
                          Wenns so viel wird sollte man wohl eher drüber nachdenken die Verknüpfung gleich in einer Datenbank zu speichern...
                          Das stimmt wohl, muss ich dir voll und ganz zustimmen.
                          [B]Mfg Tomtaz[/B]
                          [I]"Es soll jetzt diese Erfindung geben.... Kugel oder so heißt die. Ist so eine Art Suchmaschine..." [/I]:!::shock:

                          Kommentar


                          • #14
                            Naja... Es ist ja nicht wirklich viel, sondern eher lästig, weil ich jetzt nochmal den ganzen beknackten HTML-Code durchforsten muss und halt "Name"-Tags und "Target"-Tags an die Tabellen und die Links setzen muss.
                            Und durchnummerieren mache ich nur ungern, da ich bei sowas recht schnell die Übersicht verliere :P.

                            Und joa... Ich bin auch am überlegen irgendetwas wie ein Admin Control Panel oder irgendeine andere Management Konsole zu schreiben. Da werde ich um die Datenbank nicht drumrum kommen. Aber ich glaube über sowas denke ich nach, wenn ich etwas besser in PHP bescheid weis.
                            Weis auch noch nicht wirklich 100%ig genau wie meine Seite aussehen soll, bzw. welches Thema sie behandeln soll. Ansonsten wären der Datenbankaufbau auch schon erledigt. Mir mangelts halt momentan etwas an Kreativität, aber das kommt sicher auch noch irgendwann .

                            Kommentar


                            • #15
                              Ansonsten habe ich aus deinen Äußerungen gelesen das du ein Tabellenlayout gemacht hast? Dann solltest du dich vielleicht mal mit Divs auseinandersetzen und damit dein Layout machen, glaub mir irgendwann wirst du mir für diesen Hinweis dankbar sein

                              Kommentar

                              Lädt...
                              X