Björn: Seitenaufbau mit PHP

Also, ich bin dabei mir ne eigene Homepage zu erstellen. Hab erstmal 4 wichtige Bereiche...Home, About, Projekte und Portfolio. Hab die Seite nun folgenderweise aufgebaut:

index.html:

<div id="wrapper">  
         <div id="content">  
         <?php include "includes/content.inc.php"?>  
         </div>  
</div>

So jedenfalls. Der Rest ist ja nur Deko. In der content.inc.php steht dann folgendes:

<?php  
  
         if(isset($_GET['page']) && empty($_GET['section']))  
         {  
                 $page = $_GET['page'];  
                 if(file_exists('includes/'.$_GET['page'].'.php'))  
                         include('includes/'.$_GET['page'].'.php');  
                                 else  
                                       {  
                                       echo "<i>Ooops, <b>includes/".$_GET['page'].".php</b> nicht gefunden. ";  
                                       echo "Versuchen Sie es nochmal!</i><br /><br />";  
                                       }  
         }  
         else  
         {  
         if(isset($_GET['section']))  
         {  
                 $section = $_GET['section'];  
                 if(file_exists('includes/'.$_GET['section'].'.php'))  
                         include('includes/'.$_GET['section'].'.php');  
                                 else  
                                       {  
                                       echo "<i>Ooops, <b>includes/".$_GET['section'].".php</b> nicht gefunden. ";  
                                       echo "Versuchen Sie es nochmal!</i><br /><br />";  
                                       }  
         }  
  
         else  
         {  
         include 'includes/home.php';  
         }  
         }  
?>

Das ist natürlich nicht so klug. Also er nimmt sich aus der Url die Seite (Page). Also home, Projekte oder ähnlich. Dann Bei Portfolio und Prjekte gibt es die Unterteilung in Sektionen. Rufe ich dann eine bestimmte Section auf in den beiden Seiten. Geht das auch. Nur jetz sollen die dortigen Einträgen in den Sektionen bestimmte ID's bekommen. Quasi wie eine Galerie. Wie geh ich nun weiter? Sollte ich das lieber anders aufbauen? Oder habt ihr nen Vorschlag für ne simple Galerie, in der man alle Sachen in klein sieht und beim klick dann die Bilder mit vor-, zurück- und Übersichtsbutton?...

In der Galerie sollen halt bearbeitete Bilder gezeigt werden. Vorer und nachher halt. Hoffe ihr versteht mich.

Danle schhonmal für die Hilfe.

  1. ganz vergessen zu schreiben. Also die Galerie braucht keine Upload funktion oder Administratorbereich. Für reicht die simple Darstellung der Bilder. Und ich weiß halt nicht genau wie ich das aufbauen soll, da ich ja 1 Vorschaubild hab, will dann aber 2 Bilder anzeigen lassen. Am liebsten mit nem Rollovereffekt.

    Zur Not, würde es auch eine Lightbox tun, aber da kann man ja eher nur 1 Bild darstellen. Außer jemand kann mir erklären wie ich dort nen Rollovereffekt mit Java einbaue.

    1. Hi there,

      [...] Und ich weiß halt nicht genau wie ich das aufbauen soll, da ich ja 1 Vorschaubild hab, will dann aber 2 Bilder anzeigen lassen. Am liebsten mit nem Rollovereffekt.

      wie mir scheint, hast Du eher ein Darstellungs- als PHP-Problem. Wenn ich es richtig verstanden habe, möchtest Du 2 Thumbnails als vorher-nacher-Bilder darstellen. Was also genau ist jetzt Deine Frage?

      1. Hi there,
        wie mir scheint, hast Du eher ein Darstellungs- als PHP-Problem. Wenn ich es richtig verstanden habe, möchtest Du 2 Thumbnails als vorher-nacher-Bilder darstellen. Was also genau ist jetzt Deine Frage?

        Ne, ich will 1 Thumbnail anklicken...daraufhin öffnet sich dann entweder ne neue Seite mit 2 Bildern, oder ein Popup (wie ne Lightbox), aber mit Rollover Effekt. Also ich will zwingend aus einem Thumbnail heraus 2 Bilder anzeigenlassen. Die Art ist mir egal....aber Rollover bevorzugt.

        Ich hab vllt ein Darstellungs UND PHP Problem. Am wichtigstens ist mir erstmal der gesamte Seitenaufbau, wie im ersten Post zu sehen.

        1. Hi,

          Ne, ich will 1 Thumbnail anklicken...daraufhin öffnet sich dann entweder ne neue Seite mit 2 Bildern, oder ein Popup (wie ne Lightbox), aber mit Rollover Effekt. Also ich will zwingend aus einem Thumbnail heraus 2 Bilder anzeigenlassen. Die Art ist mir egal....aber Rollover bevorzugt.

          Dann definiere bitte mal, was du an der Stelle unter einem "Rollover" verstehst.

          Wo willst du beim Anzeigen von zwei Bildern, die vorher nicht da waren, einen "Rollover" unterbringen?
          Auf dem Thumbnail? Gegen was willst du den austauschen?
          Oder bei den "zwei" Bildern - die dann also zunaechst mal gar nicht zwei angezeigte Bilder waeren, sondern nur eins, das dann bei Mausberuehrung/Fokussierung durch ein anderes ausgetauscht werden soll?

          Druecke dich also bitte erst mal klar aus bei der Beschreibung deines Vorhabens. Niemand hier hat Lust, immer wieder Raten zu muessen, was ein Fragender gemeint haben *koennte*.

          Und dann druecke dich anschliessend auch klar aus bei der Beschreibung des *Problems* - was du unternommen hast, um das Gewuneschte umzusetzen, und woran du bisher gescheitert bist.

          Lese bitte die Tipps fuer Fragende aufmerksam durch - und poste dann noch mal im Thread hier, was denn nun eigentlich Sache ist.

          MfG ChrisB

          --
          „This is the author's opinion, not necessarily that of Starbucks.“
          1. Dann definiere bitte mal, was du an der Stelle unter einem "Rollover" verstehst.

            Achso. Tut mir leid, dachte das wäre klar. Sry.
            Aber du hast es schon richtig erfasst:

            Oder bei den "zwei" Bildern - die dann also zunaechst mal gar nicht zwei angezeigte Bilder waeren, sondern nur eins, das dann bei Mausberuehrung/Fokussierung durch ein anderes ausgetauscht werden soll?

            Ich hab ein Thumbnail...klicke das an und es öffnet sich meinetwegen ne neue Seite, ne Lightbox oder was auch immer. Da wird mir EIN Bild angezeigt und beim rüberfahren mit der Maus, wechselt es zum Nachher-Bild.

            Ans sich ist das kein Problem. Funzt problemlos mit Java, da das Bild im vorraus geladen werden sollte. Nicht erst beim Rüberfahren.
            Ich kann es nur nicht in eine Lightbox einbinden. da ich mich mit JavaScript nicht genügend auskenne.
            Und wie ich das als normale Seite anzeigen soll...mit php und per include weiß ich insofern nicht, da ich mir über den Aufbau unsicher bin. Ich wollte das ganze mit ID's machen, aber dann müsste ich (so wie ich es mir überlegt habe) für jede ID ne extra Seite machen und das ganze dann jeweils für Prjekte und die einzelnen Sektionen beim Portfolio. Das muss doch einfacher gehen. Und da bin ich irgendwie auf der Suche nach ner einfachen Galerie oder ner guten Anleitung wie man so eine schreibt.

            Hoffe das war jetzt verständlich...sonst entschuldige ich mich.

            1. hi $name,

              Ich hab ein Thumbnail...klicke das an und es öffnet sich meinetwegen ne neue Seite, ne Lightbox oder was auch immer. Da wird mir EIN Bild angezeigt und beim rüberfahren mit der Maus, wechselt es zum Nachher-Bild.

              ok, klar

              Ans sich ist das kein Problem. Funzt problemlos mit Java, da das Bild im vorraus geladen werden sollte. Nicht erst beim Rüberfahren.
              Ich kann es nur nicht in eine Lightbox einbinden. da ich mich mit JavaScript nicht genügend auskenne.

              das ist einfach, anstatt das script zu verändern um diesen effekt zu erreichen, lade einen iframe in der lightbox, in diesem kannst du ganz normal dein javascript einbinden (und mit CSS siehts dann fast aus wie die bildfunktion de lightbox), oder öffne per javascript ein popup, und binde da dein script ein.

              Und wie ich das als normale Seite anzeigen soll...mit php und per include weiß ich insofern nicht, da ich mir über den Aufbau unsicher bin. Ich wollte das ganze mit ID's machen, aber dann müsste ich (so wie ich es mir überlegt habe) für jede ID ne extra Seite machen und das ganze dann jeweils für Prjekte und die einzelnen Sektionen beim Portfolio. Das muss doch einfacher gehen. Und da bin ich irgendwie auf der Suche nach ner einfachen Galerie oder ner guten Anleitung wie man so eine schreibt.

              ?? das ist mir jetzt nicht so ganz klar, aber der vorteil von PHP ist ja das du den inhalt dynamisch gestalten kannst ( if abfrage / switch / ....) also brauchst du nicht immer eine neue seite schreiben sondern läßt diese über ein script generieren.

              hint: wenn du dein CSS inline hast kööööööntest du dieses mit hilfe von PHP ausgeben, soll heißen: auch dort kannst du dann entsprechende PHP kontrollstrukturen anwenden.

              Hoffe das war jetzt verständlich...sonst entschuldige ich mich.

              halbwegs, der weg ist das ziel :-)

              *lol* ich hoffe meine antwort war verständlich ;-)

              gruss
              shadow

              --
              Vor dem Parser und auf hoher See sind wir allein in Gottes Hand
              1. das ist einfach, anstatt das script zu verändern um diesen effekt zu erreichen, lade einen iframe in der lightbox, in diesem kannst du ganz normal dein javascript einbinden (und mit CSS siehts dann fast aus wie die bildfunktion de lightbox), oder öffne per javascript ein popup, und binde da dein script ein.

                Hmmm, ich weiß nicht warum ich die Überlegung noch nich angestellt hab...Das ist wohl nen guter Weg.

                Aber dann bleibt ja immer noch die Frage, wie ich das ganze nun aufbaue. Du hast nen Stichwort geliefert wa anz gut war...is mir vorher nicht in den Sinn bekommen. Ich will halt die einzelnen Seiten der Bilder dynamisch generieren. Sonst müsste ich, so wie meine Struktur gerade ist, für jede ID ne extra Seite erstellen, also für jedes Bilderpaar. Und das ganze jeweils für mehrere Themen. Müsste als verschiedene Ordner anlegen...das ist doch irgendwie realativ unübersichtlich. Deswegen meine Frage nach eine simplen php Galiere. Wenn ich wüsste wie die so grob aufgebaut ist, dann würde mir das auch schon weiterhelfen.

                1. hi $name,

                  Aber dann bleibt ja immer noch die Frage, wie ich das ganze nun aufbaue. Du hast nen Stichwort geliefert wa anz gut war...is mir vorher nicht in den Sinn bekommen. Ich will halt die einzelnen Seiten der Bilder dynamisch generieren.

                  und ich dachte ich hätte dir hinweise gegeben.........?

                  wieso hatte ich eigentlich den eindruck das du PHP grundkentnisse hast?

                  Aunt almighty

                  tante google hilft dir, was PHP scripte angeht weiter, für den rest: butter bei fische............

                  gruss
                  shadow

                  --
                  The immoratal words of Socrates -- 'I drank what?'
                  1. und ich dachte ich hätte dir hinweise gegeben.........?

                    wieso hatte ich eigentlich den eindruck das du PHP grundkentnisse hast?

                    tante google hilft dir, was PHP scripte angeht weiter, für den rest: butter bei fische............

                    gruss
                    shadow

                    Ja...Grundkenntniise sind eig schon da. Ich kann die Abfragen, Schleifen, switches was auch immer. Aber am Aufbau haperts und google hab ich schonlange befragt, aber es kam zu viel, als dass es für mich verwertbar ist. Hätte jasein können, dass irgendjemand ne Galerie kenn die meinen Ansprüchen genügt.

                    Naja egal...hat sich dann erledigt, aber danke für die Hilfe.

  2. Hello,

    besonders unklug ist diese Konstruktion

    if(file_exists('includes/'.$_GET['page'].'.php'))
                             include('includes/'.$_GET['page'].'.php');

    Es ist im Prinzip darüber möglich, beliebige Files aus dem Filesystem zu includen, mindestens aber beliebige PHP-Files.

    Liebe Grüße aus Syburg bei Dortmund

    Tom vom Berg

    --
    Nur selber lernen macht schlau
    http://bergpost.annerschbarrich.de
    1. Hello,

      besonders unklug ist diese Konstruktion

      if(file_exists('includes/'.$_GET['page'].'.php'))
                               include('includes/'.$_GET['page'].'.php');

      Es ist im Prinzip darüber möglich, beliebige Files aus dem Filesystem zu includen, mindestens aber beliebige PHP-Files.

      Inwiefern ist das unklug? Ich vertshe jetz deine Antwort nicht ganz. Somit überprüf ich halt, ob die Datei vorhanden ist, wenn ja unlucden, Wenn nicht, dann geb ich nen Fehler aus. Oder soll ich das einfach weglassen?

      1. Hi,

        Inwiefern ist das unklug? Ich vertshe jetz deine Antwort nicht ganz. Somit überprüf ich halt, ob die Datei vorhanden ist,

        Du prüfst, ob _eine_ Datei vorhanden ist. Beispielsweise die Datei "includes/"+"../admin/newuser"+".php".

        Verwende *nie* vom Client kommende Informationen ungeprüft.

        Cheatah

        --
        X-Self-Code: sh:( fo:} ch:~ rl:| br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
        X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
        1. Verwende *nie* vom Client kommende Informationen ungeprüft.

          Cheatah

          Joa...gut...und wie mach ich es besser?

          1. Hello,

            Verwende *nie* vom Client kommende Informationen ungeprüft.

            Joa...gut...und wie mach ich es besser?

            Wie kannst Du besser lernen, Deine Fragen zu formulieren?
            Indem Du sie erst einmal kennen lernst - die Fragen!

            Dazu könnten wir Dir helfen.

            Ob wir wollen, hängt Intellekt, der Motivation, dem Erfahrungsschatz und der Intelligenz des Einzelnen ab. Es gibt hier viele intelligente und wirklich gute Leute, die aber mit der Zeit verlernt haben, jemanden an seinem persönlichen Wissensstand abzuholen. Anders herum gibt es leider auch viele ungeduldige Fragesteller, die keinerlei Interesse haben, sich in ein umfangreiches Konglomerat des Wissens einzufühlen und einzufügen.

            Du solltest also vorrangig danach trachten, die Fragen kennen zu lernen, auf die wir Dir dann später die Antworten geben können. Dazu gehört auch die Frgetechnik und eien gewisse Erfahrung hier im Forum.

            Es ist auch möglich, als "alter Hase" die Fragen so ungeschickt zu stellen, dass alle "Profis" Dich für blöd halten. Die Antworten sorgen dann aber meistens dafür, dass es (auch) eine neue fachliche Diskussion gibt, die dan auch Google gerne aufnimmt. Die unfachlichen "Menscheleien", die nicht als solche gekennzeichnet sind, könnten natürlich gerne unterbleiben, denn sie verbessern den Suchmaschinen-Rank nicht.

            Lies Dir also bitte die http://forum.de.selfhtml.org/hilfe/charta.htm durch.

            Es wird Dir helfen, wen auch nicht sofort zu Deinem primären Problem.

            Liebe Grüße aus Syburg bei Dortmund

            Tom vom Berg

            --
            Nur selber lernen macht schlau
            http://bergpost.annerschbarrich.de
            1. Hello,

              Wie kannst Du besser lernen, Deine Fragen zu formulieren?
              Indem Du sie erst einmal kennen lernst - die Fragen!

              Ja gut. dann lern ich meine Fragen besser kennen, oder lass es einfach hier im Forum nachzufragen. Für Anfänger, so wie es in der Charta steht, ist das wohl nicht so geeignet. Ich weiß was ich will und ich denke meine Frage auch verständlich formuliert zu haben, nur wenn ich jedesmal Antworten bekomme, die mich keinen Meter voran bringen, dann kann ich mir das ganze hier echt sparen. Wenn ich mir eh alles selbst aneignen muss, für was dann das Forum? Die Seite an sich ist super...eine Fülle an Informationen, aber das Forum taugt erst was, wenn man eh schon fast alles weiß und lange kein Anfänger mehr ist.

              Wenn es mir jemand erklärt, auch wenn es nicht bis ins kleinste Detail ist, dann versteh ichs auch und hab für die Zukunft gelernt, nur irgendwie passiert das hier nicht allzu oft. Manchmal schon, aber wiegesagt eher selten.

              Naja trotzdem danke für die Hilfe...

              1. Hello,

                Wie kannst Du besser lernen, Deine Fragen zu formulieren?
                Indem Du sie erst einmal kennen lernst - die Fragen!

                Ja gut. dann lern ich meine Fragen besser kennen, oder lass es einfach hier im Forum nachzufragen.

                Das ist leider oft die Folge des Verhaltens einiger Poster, die einfach nur "dazu gehören" wollen.

                Für Anfänger, so wie es in der Charta steht, ist das wohl nicht so geeignet.

                Sehe ich nicht so. Du müsstest manchmal nur ein paar Stunden Geduld haben, um eine Antwort zu erhalten, die Dich weiter bringt. Außerdem musst Du wahrscheinlich eine bestimmte Sprache erlernen, um  einige Leute hier zu verstehen. Die sprehcne dann "pseudo-wissenschaftlich" von "zielführend" und solchen netten Sachen... ;-)

                Das kann man aber gut ertragen, denn eigentlich sind sie Alle ganz lieb.

                Ich weiß was ich will und ich denke meine Frage auch verständlich formuliert zu haben,

                ...nur eben nicht verklausuliert verwissentschaftlicht genug

                nur wenn ich jedesmal Antworten bekomme, die mich keinen Meter voran bringen, dann kann ich mir das ganze hier echt sparen.

                Das hast Du gleich überstanden. Entweder, dieser Thread heir wird gelöscht, oder wir kommen gemeinsam zum Ziel.

                Wenn ich mir eh alles selbst aneignen muss, für was dann das Forum?

                Nur selber lernen macht schlau!
                Aber helfen können wir Dir schon. Und das können wir auch besseer, als es bisher passiert ist.

                Gib nicht zu schnell auf! Es gibt auch noch Menschen hier ;-)

                Liebe Grüße aus Syburg bei Dortmund

                Tom vom Berg

                --
                Nur selber lernen macht schlau
                http://bergpost.annerschbarrich.de
              2. Hi!

                wir alle hier wissen, wie Du Dich fühlst.

                Wie kannst Du besser lernen, Deine Fragen zu formulieren?
                Indem Du sie erst einmal kennen lernst - die Fragen!

                Ja gut. dann lern ich meine Fragen besser kennen, oder lass es einfach hier im Forum nachzufragen.

                Nein, bleib hier, hole Dir Beulen und lerne!

                Für Anfänger, so wie es in der Charta steht, ist das wohl nicht so geeignet.

                Doch! Unbedingt, denn: wer hier bleibt schafft es in kurzer Zeit zu lernen und (manchmal) das eigene Ego zu überwinden.
                Niemand (selbst Cheatah nicht!) weiß alles - laß Dich nicht entmutigen.

                Du wirst hier selten 'bequeme' Antworten erhalten, aber meistens brauchbare, oft gute und nicht selten: sehr gute!

                Ich weiß was ich will und ich denke meine Frage auch verständlich formuliert zu haben, nur wenn ich jedesmal Antworten bekomme, die mich keinen Meter voran bringen,

                Du bist gekränkt, weil Du keine Antwort erhalten hast, die Dich direkt zu Deinem Ziel führt, das ist verständlich.

                dann kann ich mir das ganze hier echt sparen.

                Wenn Du _nicht_ lernen und diskutieren willst, dann spare es Dir.

                Wenn ich mir eh alles selbst aneignen muss, für was dann das Forum?

                Selbst lernen mußt Du schon, das steht doch im Namen des Forums, aber Du hast hier wirklich gute Unterstützung, falls Du diese abrufen magst.

                Die Seite an sich ist super...eine Fülle an Informationen, aber das Forum taugt erst was, wenn man eh schon fast alles weiß und lange kein Anfänger mehr ist.

                Hey: Du bekommst hier fast immer zuerst einen 'auf die Rübe' - trust me!
                Ist mir auch passiert und später habe ich kapiert, dass die meisten hier wirklich nett sind.
                Besser noch ist die Tatsache, dass hier kompetente Leute schreiben;)

                Wenn es mir jemand erklärt, auch wenn es nicht bis ins kleinste Detail ist, dann versteh ichs auch und hab für die Zukunft gelernt, nur irgendwie passiert das hier nicht allzu oft.

                An  dieser Stelle bist Du nicht gerecht - bedenke, SELFHTML ist keine kommerzielle Dienstleistung, sondern eine kostenlose Hilfestellung.

                Manchmal schon, aber wiegesagt eher selten.

                Schau öfter rein und lies andere Beiträge - das hier abzuschöpfende Wissen ist wirklich goldwert, aber es wird Dir nicht geschenkt.

                off:PP

                --
                "You know that place between sleep and awake, the place where you can still remember dreaming?" (Tinkerbell)
            2. Hi,

              Gott nein, ist das wieder ein peinlicher Thread!

              Verwende *nie* vom Client kommende Informationen ungeprüft.
              Joa...gut...und wie mach ich es besser?
              Wie kannst Du besser lernen, Deine Fragen zu formulieren?
              Indem Du sie erst einmal kennen lernst - die Fragen!

              Dem gibts nichts mehr hinzuzufügen: erst wird der Fragende damit überfahren, dass eines seiner Konstrukt Scheiße ist, obwohl der Antworter überhaupt nicht die Umgebungsbedingungen des Fragenden kennt. Dennoch reagiert der Fragende mit freundlicher Neugier, und fragt ganz offen zurück, wie er es denn besser machen könne. Und dann wird er erneut überfahren, mit einer Art von Demagogik, dass man nur noch kotzen gehen mag. Hier wurde keine einzige produktive Antwort gegeben, sondern nur die Selbstherrlichkeit der Autoreflexresponder-Elite dieses Forums in ihrer ganzen Peinlichkeit zur Schau getragen. Muss jetzt erst mal weg aus dem Mief hier, an einen anderen Ort!

              Peter

              1. Hi there,

                Hier wurde keine einzige produktive Antwort gegeben, sondern nur die Selbstherrlichkeit der Autoreflexresponder-Elite dieses Forums in ihrer ganzen Peinlichkeit zur Schau getragen.

                Gibs auf. Dieses Forum ist leider längst zu einer soziologischen Feldstudie verkommen, die die Auswirkung von massiver Klugschi**absonderung zum Untersuchungsgegenstand hat...

          2. Mahlzeit Björn,

            Verwende *nie* vom Client kommende Informationen ungeprüft.

            Joa...gut...und wie mach ich es besser?

            Sorge dafür, dass alle Dateien, die Du auf diese Weise includen willst, in EINEM Verzeichnis (oder dessen Unterverzeichnissen) liegen. Dann behandle den "von außen" kommenden Dateipfad so, dass er nur noch den Dateinamen enthält (z.B. durch Abschneiden von allem, was vor dem letzten "/" steht). Jetzt kannst Du versuchen, diese Datei in dem von Dir angelegten Verzeichnis einzubinden und läufst nicht mehr Gefahr, dass jemand Dir etwas wie

            "/var/www/foo/bar/../../../etc/passwd"

            unterjubelt ...

            MfG,
            EKKi

            --
            sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
            1. Mahlzeit Björn,

              »»

              Sorge dafür, dass alle Dateien, die Du auf diese Weise includen willst, in EINEM Verzeichnis (oder dessen Unterverzeichnissen) liegen. Dann behandle den "von außen" kommenden Dateipfad so, dass er nur noch den Dateinamen enthält (z.B. durch Abschneiden von allem, was vor dem letzten "/" steht). Jetzt kannst Du versuchen, diese Datei in dem von Dir angelegten Verzeichnis einzubinden und läufst nicht mehr Gefahr, dass jemand Dir etwas wie

              "/var/www/foo/bar/../../../etc/passwd"

              unterjubelt ...

              MfG,
              EKKi

              Das ist doch schonmal was. Ganz so verstanden hab ich es jetz nich :P, aber ein Anhaltspunkt zum weitergooglen. Danke!