PHP - Seite fest einbinden

Jeak

Lt. Junior Grade
Registriert
Sep. 2007
Beiträge
372
hey!

wollte mein Gästebuch mit include() einbinden, doch dann hab ich gemerkt, dass, wenn man auf einen link klickt, dieser zwar geladen wird, aber nicht an der stelle, wo die seite included wurde, sondern die seite wird komplett überschreiben....hoff, ihr rafft, was ich laber^^

naja hier das beispiel: http://jeak.de/gaestebuch/

will bene, dass wenn man z.b. auf "Ins Gästebuch eintragen" klickt die neue seite auch wieder schön eingebunden unter meinem header usw. liegt.

würd mich sehr freun, wenn mir wer helfen könnte :)
 
das musst du alles über die index.php und dessen get-parameter regeln und je nachdem was in z.b. der variablen 'page' steht, die spezielle unterseite einbinden.
 
könntrst du das ein bisschen näher erklären?
wo hab ich in der index.php ne get-methode? oder wie/wo müsste ich die dann einfügen?

raffs noch nich so gaaaanz^^
 
PHP:
<?php
  
  $site = '';
  switch( $_GET['page'] )
  {
    case 'gb' : $site = 'gb.php'; break;
    case 'dls' : $site = 'dls.php'; break;
    case 'xyz' : $site = 'xyz.php'; break;
    case 'abc' : $site = 'abc.php'; break;
    default : $site = 'news.php';
  }
  
  # ...
  include 'php/'.$site;
  # ...
  
?>

url:
Code:
index.php --> du gelangst zur news seite
index.php?page=gb --> du gelangst zum gästebuch
index.php?page=abc --> du gelangst zur seite abc
index.php?page=test --> du gelangst zur news seite
...
 
es kommt ganz auf deine strukturierung an. es gibt die möglichkeit header, footer u.ä. einzeln zu basteln und dann die seite über jede menge php-dateien zu generieren. beispiel dafür wäre z.b. folgende struktur:

Code:
+ /
  + include
    - header.php
    - footer.php
  + gaestebuch
    - show.php
    - insert.php
  + news
    - show.php
    - insert.php
  + ...

das hat den nachteil, dass du die modulare programmierung schon mal von vorn herein ausschließen kannst, sowie diese variante einfach unkomfortabel und umständlich, aber leicht und ohne weiter zu überlegen zu realisieren ist.

viel mehr bietet sich da folgendes schema an:

Code:
+ /
  + include
    - globale funktionen o.ä.
  + modules
    + news
      + templates
        - show.tpl
        - insert.tpl
      - mod.php
    + gaestebuch
      + templates
        - show.tpl
        - insert.tpl
      - mod.php
    + ...
  + templates
    + template name
      + templates
        + index.tpl
        + style.css
        + scripts.js
  - index.php

die struktur pflege ich nun schon seit jahren und besser geht es eigentlich nicht. wenn du hierbei noch eine template-engine wie smarty verwendest, kannst du auch auf einfache weise verschiedene designs auf deiner seite realisieren ohne großen umstellaufwand zu betreiben. die modulare programmierung ist hierbei auch ohne probleme zu bewerkstelligen, da der aufbau eines moduls immer der gleiche ist (modules/<name>/mod.php). suchmaschinenfreundliche urls kannst du auch hier beibehalten, wenn du auf mod_rewrite des apache-servers zurückgreifst.



du musst nun also entscheiden für welche variante du dich entscheidest, bzw. welche weniger aufwändig ist. wenn du nun schon die struktur wie oben hast, dann wäre es einfacher eine header.php bzw. footer.php zu machen, wo du nur den teil hineinbastelst, welcher immer angezeigt wird. der dynamische teil, d.h. der teil, welcher die bereiche kennzeichnet und immer unterschiedlich ist, inkludiert dann jedes mal diese beiden dateien. so kommst du zum gleichen ergebnis, als wenn du jetzt alles über eine index.php laufen lässt.
 
hmmm, die erste fariante find ich....doof^^
aber die 2te is übelst aufwendig.

hmm.....eig wollte ich nur von dem scheiß iframe loskommen, aber der wa eig einfacher udn hat besser ausgesehn.

gibts denn ne möglichkeit soetwas wie nen iframe einzubinden, der autmonatisch die länge der angezeigten seite annimmt?

vorher hat er irgendwie immer, wenn ich auf 100% gestellt hab nur einen schmalen absatz angezeigt....
 
da macht erst genau so, wie bei 100%.
 
Zurück
Oben