zurück zur Startseite
  


Zurück XHTMLforum > Webentwicklung (außer XHTML und CSS) > Serveradministration und serverseitige Scripte
Seite neu laden Includen von Dateien in Container

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 03.09.2004, 14:24
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 03.09.2004
Beiträge: 4
Annegret befindet sich auf einem aufstrebenden Ast
Standard Includen von Dateien in Container

Ein freundliches Hallo in die Runde,

ganz neu im Forum, kommt schon meine erste Frage.

Ist es überhaupt möglich zwei verschiedene Dateien (Content und Navigation als Beispiel) mittels PHP in zwei Container zu includen? Mit SSI hat es funktioniert, aber seitdem ich eine PHP-Browserweiche benutze und die Dateien per PHP-Syntax included werden sollen, wird mir nur eine der beiden definierten Dateien in beide Container geladen.
Hier mal wie ich die Container notiert habe:
Code:
.....
 <body>
<div id="logo" class="box1">Box für Logo
</div>
<div id="main" class="box2">Hier drinnen liegt box3.
<div id="content" class="box3">Layer für den Inhalt.
<? if (!$page){
$page="content.html";
}
if (file_exists($page)) {
include $page;
}
else {
include "error404.php";
}
?>
</div>
  </div>
<div id="navi" class="box4">Layer für die Navigation.
<? if (!$page){
$page="navi.htm";
}
if (file_exists($page)) {
include $page;
else {
include "error404.php";
}
?>
</div>

</body>
.....
Und hier der CSS-Teil, der sowohl für die PHP- und SSI-Variante Identisch ist.

Code:
.....
 .box1{
background:#ffcc99;
padding:3px;
border:1px solid black;
width:750px;
height:50px;
position:absolute; top:10px; left:120px; z-index:2;
}

.box2{
background:#ffcc66;
border:1px solid black;
width:690px;
padding:5px;
position:absolute; top:40px;left:150px; z-index:1;
}

.box3{
width:553px;
background:white;
padding:5px;
margin-top:25px;
border: 1px solid black;
}

.box4{
background:gainsboro;
border:1px solid black;
padding:0px;
height:500px;
width:120px;
position:absolute; top:5px;left:725px; z-index:3;
}
....
Da ich mich noch nicht so lange mit DIV´s beschäftige, aber der Meinung bin, was mit SSi geht muß auch mit PHP gehen, kann es sich doch eigentlich "nur" um einen "Tippfehler" meinerseits handeln. Bitte

Die Auswüchse können hier genauestens unter die Lupe genommen werden
http://www.annes-castle.de/intern/anfrage.php

Ich würde mich sehr freuen, wenn es eine Lösung geben würde.

Gruß
Anne
Mit Zitat antworten
Sponsored Links
  #2 (permalink)  
Alt 03.09.2004, 14:45
Erfahrener Benutzer
XHTMLforum-Kenner
 
Registriert seit: 24.05.2004
Beiträge: 1.176
terrikay befindet sich auf einem aufstrebenden Ast
Standard Re: Includen von Dateien in Container

Hallo Annegret,

herzlich Willkommen hier.

Ich kann zwar auch fast kein PHP, aber dass das so nicht klappen kann, liegt auf der Hand.
Zitat:
Zitat von Annegret

.....
<body>
<div id="logo" class="box1">Box für Logo
</div>
<div id="main" class="box2">Hier drinnen liegt box3.
<div id="content" class="box3">Layer für den Inhalt.
<? if (!$page){
$page="content.html";
}
if (file_exists($page)) {
include $page;
}

else {
include "error404.php";
}
?>
</div>
</div>
<div id="navi" class="box4">Layer für die Navigation.
<? if (!$page){
$page="navi.htm";
}
if (file_exists($page)) {
include $page;

else {
include "error404.php";
}
?>
</div>
Du sagst dem Server zweimal, dass er dieselbe Variable($page) includieren soll, was er natürlich auch tut! Du brauchst 2 verschiedene Variablen zum includieren, anders kann es nicht gehen.
BTW: fehlt nicht noch eine "}" im zweiten Teil als Ende der if-Anweisung?
Mit Zitat antworten
Sponsored Links
  #3 (permalink)  
Alt 03.09.2004, 14:59
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 03.09.2004
Beiträge: 4
Annegret befindet sich auf einem aufstrebenden Ast
Standard Kleiner Fehler, große Wirkung

Hallo terrikay,

Du sagst Du kannst auch fast kein PHP - dafür hast Du mir aber ne ganze Ecke weiter geholfen, denn ich habe keinen Schimmer davon. Es funktioniert jetzt nämlich - ist das eine Freude. Ich dachte ich müßte das Projekt in die Tonne treten.
Hab vielen Dank
Gruß
Anne
Mit Zitat antworten
  #4 (permalink)  
Alt 03.09.2004, 15:03
Professional
XHTMLforum-Mitglied
 
Registriert seit: 25.06.2004
Ort: Wuppertal
Beiträge: 269
SimonWpt befindet sich auf einem aufstrebenden Ast
Standard Re: Includen von Dateien in Container

Zitat:
Zitat von terrikay
Du sagst dem Server zweimal, dass er dieselbe Variable($page) includieren soll
Da warst du gerade schneller.

Also erst mal ein gut gemeinter Hinweis für gutes Programmieren. Kürze nicht so viel ab, nutze verständliche Namen. Schreibe z.B. lieber

Code:
if (true == file_exists($html_file)) {

statt

if (file_exists($page)) {
Der abzufragende Wert kommt immer nach links, das ist gerade bei viel Source leichter lesbar. Page ist für Fremde als Variablenname auf den ersten Blick verwirrend. Siehe auch:

http://alltasks.net/code/php_coding_...rd.html#ifthen

Grundsätzlich würde ich bei einer klaren Trennung zu einem Template-System (Smarty, ets o.ä.) raten.

Ansonsten hat terrykay schon alles geschrieben


Bertram
Mit Zitat antworten
  #5 (permalink)  
Alt 03.09.2004, 15:24
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 03.09.2004
Beiträge: 4
Annegret befindet sich auf einem aufstrebenden Ast
Standard

Hi Bertram,

aus der Programmierung muß ich mich heraushalten - ich habe es mal versucht, aber absolut nicht begriffen.
Weil ich dennoch immer etwas dazulernen will, möchte ich doch mal fragen was Du mit Template-System meinst. Gut - ich kenne Templates, aber diese fertigen Webtemplates hast Du sicher nicht gemeint.

Gruß
Anne
Mit Zitat antworten
  #6 (permalink)  
Alt 03.09.2004, 16:20
Erfahrener Benutzer
XHTMLforum-Mitglied
 
Registriert seit: 11.07.2004
Beiträge: 106
come@death befindet sich auf einem aufstrebenden Ast
Standard

also als template system hat er dir das beispiel smarty genannt, darüber kannste dich bei smarty.php.net informieren. in php applikationen, gerade in jenen, die einen größeren umfang haben, ist es sehr hilfreich, Code von z.b. Design (in HTML, WML... etc.) zu trennen. dafür sind template systeme zuständig.

außerdem ist etwas an deinem php code anzumerken Annegret, und zwar verlässt du dich darauf, dass register_globals (siehe php.net manual) angeschaltet ist. du solltest lieber $_REQUEST['page'] oder $_GET['page'] anstelle von $page benutzen. außerdem lässt sich das mit file_exists vereinfachen:
Code:
if(!include($_REQUEST['page'])){ /* wenn du willst, kannst du hier auch ein == true hinschreiben, was aber eigentlich unnötig ist, die sache allerdings übersichtlicher machen KANN */
include('error404.php'');
}
Und noch eine Anmerkung: du solltest bei solchen fragen möglichst das essentielle zeigen, wenn es nur um den php code geht, irritiert dabei stehendes HTML nur, wenn doch eigentlich nur der code bestand der frage ist.
Mit Zitat antworten
  #7 (permalink)  
Alt 03.09.2004, 16:38
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 03.09.2004
Beiträge: 4
Annegret befindet sich auf einem aufstrebenden Ast
Standard

Sorry - ich werde es mir merken.
Allerdings - wenn ich gewußt hätte, dass der Fehler am PHP-Code liegt, hätte ich ganz sicher auch nur den gepostet. Es hätte ja auch am CSS oder sonstwas liegen können.
Was das Programmieren angeht so ist hier vielleicht Verwirrung entstanden, weil die Testseite den Suffix php hat. Das ist ne ganz einfache HTML-Seite, die ich nur wegen der Browserweiche in *.php umbenennen mußte. Ob das die endgültige Lösung sein wird muß noch ein paar mal überschlafen werden. Ich werde mir Eure Links ganz sicher anschauen aber noch sicherer ist zu befürchten, dass ich es nicht kapieren werde. Wäre nicht schlimm, denn ich habe keine PHP-Projekte vor.
Nochmals Dank an alle
Anne
Mit Zitat antworten
  #8 (permalink)  
Alt 03.09.2004, 18:10
Erfahrener Benutzer
XHTMLforum-Mitglied
 
Registriert seit: 11.07.2004
Beiträge: 106
come@death befindet sich auf einem aufstrebenden Ast
Standard

kein problem, aber du brauchst dich doch nicht entschuldigen, es war doch nur eine anmerkung.
Mit Zitat antworten
Antwort

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Anfängerfrage: Zentrierung in Galerie und Border-Problem goldbeere CSS 3 04.11.2013 20:07
Positionierung von Container horizontal mayhemtl CSS 9 11.08.2007 16:25
quicktime .mov dateien in html site bzw. css container abspielen??? bastien (X)HTML 14 10.11.2006 10:54
Container nimmt nicht die Höhe seines Inhalts an Lestat CSS 10 04.08.2005 14:47
Mitwachsende DIV Container Myjestic CSS 9 27.07.2005 18:37


Alle Zeitangaben in WEZ +2. Es ist jetzt 18:04 Uhr.