PHP Navigation - eine Seite

  • Hallo Leute,

    ich bin neu hier und auch bei PHP. Habe bereits einige Tuts durchgeblättert und bin derzeit auf der Suche nach etwas Hilfe.^^

    Ich habe auf meiner Homepage eine Hauptseite ("index.php") und weitere verschiedene Seiten die sich nur vom Inhalt unterscheiden. Da Head und Bottom gleich bleiben wollte ich die Navigation bzw. Struktur anders aufbauen, sodass immer nur die index.php, mit verschiedenen Inhalten, geladen wird.

    Habe bereits einige nützliche Funktionen gefunden, wie zb.:
    <?php
    include ('news.html');
    ?>

    Könntet Ihr mir da vielleicht einen kleinen Denkanstoß geben, wie ich (schön gescriptet) verschiedene Seiten laden könnte?
    Man sieht ja bei vielen PHP-Seiten, nach dem Adresspfad "?page=7....." usw. und da würde ich gerne ansetzen.

    Schon im voraus Vielen Dank!

    Gruß,
    Michael

  • Ganz vereinfacht:

    FALLS DIE VARIABLE DIE HINTER DEM ? steht 'NEWS' als inhalt hat, dann binde NEWS.php ein

    PHP
    <?php if($_GET['page']=='news'){include('news.php');} //usw ?>

    BTW bevor widda jemand meint es ist schlecht, es ist zum verstehen durchaus gut

  • Danke für die rasche Info. Es hat mir sehr weitergeholfen :)

    Kann man den Inhalt der Adresszeile auch "verstecken"? So, dass nur die Domain zu sehen ist?

    Und hast du/ habt Ihr auch weitere Hilfreiche Tipps bzw. wie man das noch schöner gestalten kann?

    Gruß,
    Michael

  • nein, außer du arbeitest mit Frames / Javascript bzw. Ajax zum wechseln (ohne reload der seite). Was aber nunmal nicht viel Sinn macht, weil man die Unterseiten dann nicht favorisieren kann.

  • Ok, Danke. Ist nachvollziehbar und mit javaskript arbeite ich geringfügig.

    Ich verwende nun die von "Pion" vorgeschlagene Methode um in der 'index.php' verschiedene Seiten (Inhalte) zu laden.

    Habt Ihr noch weitere nützliche Ratschläge?

    Vielen Dank für die Infos.

    Gruß,
    Razael

  • Ah, eins hab ich noch vergessen.
    Gibt es eine Möglichkeit, eine Seite im index.php zu laden, falls sie direkt angeklickt wurde?

    Beispiel: In 'index.php' werden 'news.html', 'downloads.html', 'kontakt.php', usw. per "include" geladen.

    Wenn man nun in die Adresszeile direkt, eine dieser Seiten angbiebt, soll trotzdem index.php mit dem Inhalt dieser Seite geladen werden.

    Gruß,
    Michael

  • Es gibt sie, aber sie ist kompliziert für einen Anfänger. (Also, genau genommen würde ich mich da auch nicht ohne Not rantrauen). Was ist Zweck dieser Idee? Eine einheitliche Navigation?

    Information will frei verfügbar sein.

    Don't eat unpeeled hedgehogs.

  • ist es so kompliziert? Ich denke dass ich im schlimmsten Fall einfach alle html Seiten in php umspeichere und da eine Abfrage reinpack.
    Zb. in index.php eine Variabel festlegen und in den includeseiten diese Variabel vergleichen ..
    falls nicht gleich soll dann die index.php geladen werden. Sollte doch so klappen , oder leute?^^

  • Musst eine .htacess Datei anlegen mit folgendem INhalt anlegen:


    RewriteEngine on
    RewriteRule ^([^/-]+).html index.php?page=$1

    und in das verzeichniss von der index.php hochladen

    2 Mal editiert, zuletzt von Pion (8. Mai 2010 um 13:50)

  • Danke. Es klappt bei mir leider noch nicht. Ich bekomme immer eine 404 Meldung.

    Welcher Wert wird in die $1 geschrieben?
    bsp.: Ich gebe in die Adresszeile ein: http://www.example.de/news.html
    Übergibt die $1 Variabel 'news.html' oder 'news'.
    Ich würde eigentlich nur 'news' benötigen

    Gruß,

  • 404 Meldung ?

    die .htacess hast du hochgeladen?

    Wenn du news.html auf rufst dann ruf das eben index.php?page=news auf

  • Ach, ich hab die Aufgabenstellung falsch verstanden. Ich dachte, es geht darum, die Seite per JS zu laden.

    Die Datei muss .htaccess heißen.

    Information will frei verfügbar sein.

    Don't eat unpeeled hedgehogs.