zurück zur Startseite
  


Zurück XHTMLforum > Webentwicklung (außer XHTML und CSS) > Serveradministration und serverseitige Scripte
Seite neu laden Layout der Seite mit PHP

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 27.06.2009, 20:49
Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 19.06.2007
Beiträge: 36
sumica befindet sich auf einem aufstrebenden Ast
Standard Layout der Seite mit PHP

Ich stehe noch relativ am Anfang meiner Künste mit PHP.
Ich möchte zunächst meine HP umbauen, neu gestalten und dabei gleich PHP lernen.
Dazu arbeite ich mit include und der Aufbau sieht zur Zeit wie folgt aus: Ich binde in die jeweiligen Seiten, z.B. die index.php
PHP-Code:
<?php
    
//Headerinfos nachladen und Titel definieren
    
$title "Startseite";
    include(
"header.inc.php");
?>
<?php
    
//Navigation des Standardlayouts nachladen
    
include("navi.inc.php");
    
//Ab hier kommen dann die Inhalte
?>
<!-- Inhaltsbereich -->
<div id="inhalt">
        <h2>SuMiCaTo </h2>
        <p>Herzlich willkommen auf unserer Homepage!</p>
</div>
<!-- Inhaltsbereich Ende -->
<?php
    
//zweiten Teil des Standardlayouts nachladen
    
include("infobox.inc.php");
?>
</body>
</html>
die header.inc.php
Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title><?php echo $title; ?></title>
<meta name="description" content="<?php echo $description; ?>"> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="sumicato_php.css" rel="stylesheet" type="text/css">
</head>
,
die navi.inc.php (linke Navigationsseite)
Code:
<body>
<!-- Gesamt-Container -->
<div id="container">

<!-- Header -->
<div id="header">
  <h1><span class="unsichtbar">Homepage von SuMiCaTo </span></h1>
</div>
<!-- Header Ende -->
<!-- Navigation -->
<div id="navi">
	<h2>Hauptseite</h2>
		<ul>
			<li><a href="index.php">Startseite</a></li>
		</ul>
	<h2>Inhalt</h2>		
		<ul>
			<li><a href="panoramen.php">Panoramen</a></li>
			<li><a href="#">Panorama-Touren</a></li>
			<li><a href="bilder.php">Bilder</a></li>
		</ul>
	<h2>Neue Panoramen </h2>
		<ul>
		<div class="navi ls_navi"><a href="#" class="tn"><img src="panoramen/pano_img_uebersicht/test_ls.jpg" alt="Alternativtext"></a></div>
			<li><a href="#">Seeburger See 1 </a></li>
		<div class="navi ls_navi"><a href="#" class="tn"><img src="panoramen/pano_img_uebersicht/test_ls.jpg" alt="Alternativtext"></a></div>
			<li><a href="#">Seeburger See 2 </a></li>
		</ul>
	<h2>Neue Panorama-Touren </h2>
		<ul>
		<div class="navi ls_navi"><a href="#" class="tn"><img src="panoramen/pano_img_uebersicht/test_ls.jpg" alt="Alternativtext"></a></div>
			<li><a href="#">Tour Rundwanderweg Kiessee 1</a></li>
		<div class="navi ls_navi"><a href="#" class="tn"><img src="panoramen/pano_img_uebersicht/test_ls.jpg" alt="Alternativtext"></a></div>
		    <li><a href="#">Tour Rundwanderweg Kiessee 2</a></li>
		</ul>
</div>
<!-- Navigation Ende-->
und die infobox.inc.php
Code:
<!-- Infobox -->
<div id="infobox">
	<h2>Info Fotografie </h2>
		<ul>
			<li><a href="#">Erstellen von Panoramen </a></li>
			<li><a href="#">Erstellen von <br>
		    				Panorama-Touren</a></li>
			<li><a href="#">Bildbearbeitung</a></li>			
			<li><a href="#">Makrofotografie</a></li>
		</ul>
	<h2>Interessante Links </h2>
		<ul>
			<li><a href="http://www.fotocommunity.de/" target="_blank"> Fotocommunity </a></li>
			<li><a href="http://www.panorama-forum.net/wbb/index.php?page=Portal" target="_blank"> Panorama Community</a></li>
			<li><a href="links.php">mehr...</a></li>
		</ul>
	<h2>Gästebuch </h2>
		<ul>
			<li><a href="#"> Gästebuch</a></li>
		</ul>
	<h2>Informationen</h2>
		<ul>
			<li><a href="kontakt.php"> Kontakt</a></li>
			<li><a href="impressum.php"> Impressum</a></li>
			<li><a href="#"> Über mich/uns</a></li>
		</ul>							
</div>
<!-- Infobox Ende-->
<div style="clear:both;"></div>
</div>
<!-- Gesamt-Container Ende -->
ein.
Es klappt auch eigentlich alles ganz gut, wie ihr unter SuMiCaTo
sehen könnt.
Beim schreiben ist mir jetzt aufgefallen, dass ich mit meiner Verzeichniss-Struktur etwas durcheinander komme, bzw diese immer unübersichtlicher wird. So liegen die Dateien für die funktionierenden links (Panoramen, Bilder, Kontakt und Impressum alle auf der Ebene der Index.php. Sogar die weiterführende Seite im Bereich Panoramen liegt auf dieser Ebene. Ich hab es irgend wie im Moment nicht anders hinbekommen.
Jetzt hatte ich vor, die einzelnen Kategorien und auch das layout (header.inc, navi.inc und infobox.inc) in seperate Ordner zu packen.
Dabei ist aber das Problem, dass die index.php ja auf der untersten Ebene liegt, und die zu includenden Dateien ja auf einer anderen Ebene. Wenn ich jetzt den Pfad aus der index.php zur header.inc.php wieder korrekt setze, klappt alles. Wenn ich dann aber z.B. in panoramen/uebersicht_panos_inc.php die header.inc.php include, stimmt dort der Pfad zur css-datei ja nicht mehr.
Vielleicht stehe ich ja auf dem Schlauch und es gibt eine ganz einfache Lösung.
Ich hatte schon versucht, die Startseite ebenfalls eine Ebene höher zu setzen, z.B. allgemeines/startseite.php und diese dann komplett in die index.php zu includen.
Hat aber auch nicht geklappt.
Ich hoffe ihr habt mein Anliegen verstanden und könnt mit helfen.

Lg

Michael
Mit Zitat antworten
Sponsored Links
  #2 (permalink)  
Alt 27.06.2009, 21:41
webdesign-portfolio.de
neuer user
 
Registriert seit: 06.04.2009
Ort: Berlin
Beiträge: 58
sirgismo befindet sich auf einem aufstrebenden Ast
Standard

ist doch recht simple, du includest in die index.php alles aus den ordnern. alle includes greifen auf ihre ebenen zurück.

-index.php
--INCLUDES
---meta.php
---header.php
---galerie.php
---footer.php
--IMAGES
---top.gif
---bild.jpg
---footer.gif

index.php:
Code:
<?php require("INCLUDE/meta.php"); ?>
<?php require("INCLUDE/header.php"); ?>
<p>nun kommen bilder</p>
<?php require("INCLUDE/galerie.php"); ?>
<?php require("INCLUDE/footer.php"); ?>
header.php:
Code:
<img scr="IMAGES/top.gif" />
... usw. relation immer zum root
Mit Zitat antworten
Sponsored Links
  #3 (permalink)  
Alt 27.06.2009, 22:22
Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 19.06.2007
Beiträge: 36
sumica befindet sich auf einem aufstrebenden Ast
Standard

Soweit so klar.
was passiert aber wenn die Struktur wie folgt aussieht:
-index.php
-xxx.css
--INCLUDES
---meta.php
---header.php
---galerie.php
---footer.php
--IMAGES
---top.gif
---bild.jpg
---footer.gif
--TAUCHEN
---tauchgebiete.php

Wenn ich tauchgebiete.php aufrufe :

PHP-Code:
<?php require("INCLUDE/meta.php"); ?>
<?php 
require("INCLUDE/header.php"); ?>
<p>nun kommt Text über das Tauchen</p>
<?php require("INCLUDE/footer.php"); ?>
dann stimmt der Pfad
Code:
<link href="xxx.css" rel="stylesheet" type="text/css">
in der meta.php ja nicht mehr und die css-Datei wird nicht eingebunden.
Oder sehe ich das falsch?

Michael
Mit Zitat antworten
  #4 (permalink)  
Alt 27.06.2009, 22:33
Benutzerbild von David
auch, ja!
XHTMLforum-Kenner
 
Registriert seit: 08.11.2007
Beiträge: 2.626
David ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer Anblick
Standard

Wenn du gerade am Anfang stehst, php zu lernen, würde ich dir empfehlen, dir gar nicht erst die Marotte mit den Dateiendungen .inc.php anzugewöhnen.

Ich habe mir angewöhnt im internen Dateisystem immer mit Absoluten Pfaden zu arbeiten. Du definierst dir eine Konstante, die den Pfad bis zum Basisverzeichnis deines Projektes enthält, und setzt die vor jede Pfadangabe. Im einfachsten Fall ist das die $_SERVER['DOCUMENT_ROOT'] Variable.
Je nach Konfiguration des Servers endet die mit einem Slash oder auch nicht.
__________________
github | http://dnaber.de
Mit Zitat antworten
  #5 (permalink)  
Alt 27.06.2009, 22:50
Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 19.06.2007
Beiträge: 36
sumica befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von David Beitrag anzeigen
Wenn du gerade am Anfang stehst, php zu lernen, würde ich dir empfehlen, dir gar nicht erst die Marotte mit den Dateiendungen .inc.php anzugewöhnen.

Ich habe mir angewöhnt im internen Dateisystem immer mit Absoluten Pfaden zu arbeiten. Du definierst dir eine Konstante, die den Pfad bis zum Basisverzeichnis deines Projektes enthält, und setzt die vor jede Pfadangabe. Im einfachsten Fall ist das die $_SERVER['DOCUMENT_ROOT'] Variable.
Je nach Konfiguration des Servers endet die mit einem Slash oder auch nicht.
Das hört sich interessant an. Bedeutet das, gar nicht mehr mit relativen Pfaden zu arbeiten.
Ich habe nur keine Ahnung, wie das genau funktioniert.
Hast du evtl. mal ein Beispiel, oder einen Link, wo ich das genau nachlesen kann.

Michael
Mit Zitat antworten
  #6 (permalink)  
Alt 27.06.2009, 22:59
webdesign-portfolio.de
neuer user
 
Registriert seit: 06.04.2009
Ort: Berlin
Beiträge: 58
sirgismo befindet sich auf einem aufstrebenden Ast
Standard

wo liegt der vorteil in absoluten pfaden?
includes tut: Quakenet/#php Tutorial - de - Include
Mit Zitat antworten
  #7 (permalink)  
Alt 27.06.2009, 23:03
Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 19.06.2007
Beiträge: 36
sumica befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von sirgismo Beitrag anzeigen
wo liegt der vorteil in absoluten pfaden?
includes tut: Quakenet/#php Tutorial - de - Include
Danke, werde ich mir mal reinziehen.

Michael
Mit Zitat antworten
  #8 (permalink)  
Alt 27.06.2009, 23:16
Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 19.06.2007
Beiträge: 36
sumica befindet sich auf einem aufstrebenden Ast
Standard

Habe mir das Tut mal durchgelesen.
Da stand allerdings nichts über absolute Pfade.
Gibt es da eine einfache Erklärung, die ich als Anfänger an Hand eines Beispiels verfolgen kann.

Michael

Geändert von sumica (27.06.2009 um 23:21 Uhr)
Mit Zitat antworten
  #9 (permalink)  
Alt 27.06.2009, 23:22
Benutzerbild von David
auch, ja!
XHTMLforum-Kenner
 
Registriert seit: 08.11.2007
Beiträge: 2.626
David ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer Anblick
Standard

Relative Pfade beziehen sich auf den Ort, von dem aus sie aufgerufen werden, absolute Pfade auf das Wurzelverzeichnis des Systems. Es gilt zwischen dem Dateisystem des Servers und den URL-Pfaden zu unterscheiden.

Für das Dateisystem verwende ich eigentlich immer Absolute Pfade.
In dem Superglobalen Array $_SERVER gibt es den Schlüssel 'Document_root', welches den absoluten Pfad beinhaltet. Wenn du z.B. einen Apache unter Windows betreibst, könnte der so aussehen: "C:/Apache/htdocs/".
Ob der Pfad mit einem Slash endet, ist abhängig von der Serverkonfiguration.

Das kannst du dir z.B. so zu nutze Machen.

PHP-Code:
// Slash am Ende entfernen, falls er da ist
$doc_root preg_replace('/\/$/','',$_SERVER['DOCUMENT_ROOT']);

/**
* Konstante Definieren
* Der Pfad kann auch gleich zu einem Unterordner führen
*/
define('DOC_ROOT',$doc_root.'/projekt');


//Datei aus dem Projekt über Absoluten Pfad includen
include(DOC_ROOT.'/file.php'); 
__________________
github | http://dnaber.de
Mit Zitat antworten
Sponsored Links
  #10 (permalink)  
Alt 27.06.2009, 23:26
Benutzerbild von David
auch, ja!
XHTMLforum-Kenner
 
Registriert seit: 08.11.2007
Beiträge: 2.626
David ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von sirgismo Beitrag anzeigen
wo liegt der vorteil in absoluten pfaden?
includes tut: Quakenet/#php Tutorial - de - Include
Ich finde es einfach „ordentlicher“ und vor allem übersichtlicher. Bei einer komplexeren Verzeichnisstruktur kann man schon mal die Übersicht verlieren. Wirkliche Probleme mit relativen Pfaden hab ich mit diversen file-Funktionen gehabt, die einfach keine relativen Pfade akzeptiert haben, daher habe ich mich für absolute Pfade entschieden. Und dann mach ich es einheitlich, also auch bei includes.
__________________
github | http://dnaber.de

Geändert von David (27.06.2009 um 23:32 Uhr)
Mit Zitat antworten
Sponsored Links
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
Layout matwic CSS 2 12.03.2008 10:58
PHP: Dynamischer Bilderwechsel für jede neue Seite grischa_sgd Serveradministration und serverseitige Scripte 13 15.10.2007 10:50
PHP section macht Probleme McFarlane (X)HTML 14 18.09.2007 10:27
Shtml auf jeder Seite einbinden - counter iVx Serveradministration und serverseitige Scripte 1 13.09.2007 17:31
php bolgallery zerstört mein layout? benzrecordings Serveradministration und serverseitige Scripte 3 12.07.2007 18:24


Alle Zeitangaben in WEZ +2. Es ist jetzt 11:55 Uhr.