tobiisfreaky
Goto Top

dynamische Gestaltung einer Webseite

Hallo Leute,

ich habe mich schon seit etwas längeren mit HTML und CSS beschäftigt und auch PHP.
Ich bin gerade dabei meine eigene Webseite zu erstellen und kann die selbstbeigebrachten Kenntnisse gut umsetzen, nur mit der dynamik habe ich so ein Problem. Und zwar will ich in kurz und auch langfristiger Zeit Änderungen an meiner Seite vornehmen, wie z.B. Links, Bilder, neue div-layer hinzufügen. Wenn ich nah Fertigstellung etwas hinzufügen will müsste ich ja dann an allen meiner Seiten (*.html / *.php) diese div-layer auch miteinbauen und würde schon einiges an Arbeit und Zeitaufwand mit sich bringen.

Ich habe mir deshalb gedacht über die include / require-Funktion andere *php Dateien einzubinden, sodass diese man nur später an einer Stelle abändern muss und alle Änderungen werden jedoch auf jeder Seite sichtbar, da die Seiten diese geänderte Seite einbinde (includen).
Ich hoffe ich konnte rüberbringen wie ich das meinte und auch halb schon umgesetzt habe.
Meinen CSS Code habe ich auf w3c.com bereits validiert.

Wenn ich die index.php datei (Startdatei) mir anschaue, also den Quellcode im Browser, dann stelle ich fest, dass alle Inhalte aus der einzubindenden Datei vorhanden sind, dh. dass ca 6-7 mal das HTML Tag und auch HEAD, BODY etc vorkommen, was eigentlich nicht beabsichtigt und unangebracht ist. Mit DHTML konnte ich bisher nicht so viel anfangen, bzw. mich nicht wirklich anfreunden und mein Projekt nach DHTML umsetzen.


Deswegen wollte ich von euch gerne mal wissen, wie ihr das generell macht, wenn sich eine Seite in kurz- oder langfristiger Zeit ändert und immer wieder angepasst werden muss. Wäre sehr hilfreich wenn ich ein paar Ratschläge bekommen würde. Ich habe unten den Quellcode angehängt.

Vielen Dank im voraus

Freaky

im Browser angezeigter Quellcode:

<html>
   <head>
      <title>Test
       </title>
	  <link rel="stylesheet" type="text/css" href="index.css">  
   </head>
   <body>
      <div id="wrapper">  
         Test
		 <div id="wrap_left">  
		 </div>
		 <div id="wrap_middle">  
		    <div id="header">  
			   <html>
   <head>
   <title></title>
      <link rel="stylesheet" type="text/css" href="header.css">  
   </head>
   <body>
      <div id="login">  
	     <html>
   <head>
      <link rel="stylesheet" type="text/css" href="login.css">  
   </head>
   <body>
   
   </body>
</html>	  </div>
	  <div id="advertising">  
	     <html>
   <head>
      <link rel="stylesheet" type="text/css" href="advertising.css">  
   </head>
   <body>
   <div id="background">  
   </div>
   </body>
</html>	  </div>
	  <div id="navigation">  
	     <html>
   <head>
      <link rel="stylesheet" type="text/css" href="navigation.css">  
   </head>
   <body>
      <li>
	  <ul><a href="news.php" class="news">  
	  </a>
	  <a href="coverage.php" class="coverage">  
	  </a>
	  <a href="turniere.php" class="turniere">  
	  </a>
	  <a href="aktionen.php" class="aktionen">  
	  </a>
	  <a href="datenbank.php" class="datenbank">  
	  </a>
	  <a href="replays.php" class="replays">  
	  </a>
	  <a href="forum.php" class="forum">  
	  </a>
	  <a href="weltrangliste.php" class="weltrangliste">  
	  </a>
	  <a href="awards.php" class="awards">  
	  </a>	  
	  <a href="sponsoren.php" class="sponsoren">  
	  </a>
	  <a href="ueberuns.php" class="ueberuns">  
	  </a>
      </li>
   </body>
</html>	  </div>
   </body>
</html>		    </div>
			<div id="content">  
			   <html>
   <head>
      <link rel="stylesheet" type="text/css" href="content.css">  
   </head>
   <body>
   test2
   </body>
</html>			</div>
			<div id="footer">  
			   <html>
   <head>
      <link rel="stylesheet" type="text/css" href="footer.css">  
   </head>
   <body>
   test3
   </body>
</html>		    </div>
		 </div>
		 <div id="wrap_right">  
		 </div>
      </div>
   </body>
<html>



Und hier mal die index.php:

<html>
   <head>
      <title>
         Test
	  </title>
	  <link rel="stylesheet" type="text/css" href="index.css">  
   </head>
   <body>
      <div id="wrapper">  
         Test
		 <div id="wrap_left">  
		 </div>
		 <div id="wrap_middle">  
		    <div id="header">  
			   <?php
			      require("header.php");  
			   ?>
		    </div>
			<div id="content">  
			   <?php
			      require("content.php");  
			   ?>
			</div>
			<div id="footer">  
			   <?php
			      require("footer.php");  
			   ?>
		    </div>
		 </div>
		 <div id="wrap_right">  
		 </div>
      </div>
   </body>
<html>

Content-ID: 116637

Url: https://administrator.de/contentid/116637

Ausgedruckt am: 25.11.2024 um 16:11 Uhr

neuni88
neuni88 23.05.2009 um 18:53:34 Uhr
Goto Top
Autsch! Das sieht aber gaaanz böse aus.
Wieso fängst du denn immer wieder mit <html>und <head> an!?
Wenn du weißt, dass eine Datei an der Stelle im Code hinterher steht, lass doch das <html>-zeug in ihr weg. Dateien können auch gut überleben ohne <html>-tag und header an board.

Außerdem würde ich dir nahelegen einmal ein bisschen im Template-Bereich zu schauen. (Smarty z.B.)
Damit bekommst du eine saubere Trennung hin von PHP und HTML/CSS.

Ganz vereinfacht sieht meine index.php z.B. oft so aus:
<?php

$tpl->display("header.html");

include "irgendwelcher_inhalt.php";
//Hier passiert dann alles, was im "Inhalt" der Seite geschieht.

$tpl->display("footer.html");

?>
Im header.html würde dann sowas stehen:
<html>
<head>
<title>test</title>
</head>
<body>

und in der footer.html dann:

</body>
</html>

Alle anderen Dateien/Templates die ich zwischendurch einbinde, enthalten dann natürlich keine <html>-Tags oder <head>-Geschichten.

Edith möchte es nochmal auf den Punkt bringen: Es darf einfach nur eine Datei in deinen vielen Dateien geben, die ein <html> bzw. <head> enthält und fertig. Eine einzige und keine mehr.
mrtux
mrtux 23.05.2009 um 18:59:05 Uhr
Goto Top
Hi !

Zitat von @TobiisFreaky:
Deswegen wollte ich von euch gerne mal wissen, wie ihr das generell
macht, wenn sich eine Seite in kurz- oder langfristiger Zeit
ändert und immer wieder angepasst werden muss. Wäre sehr

Ein Opensource CMS installieren z.B. Typo, Joomla, Drupal, Etomite, Websitebaker....oder eines der 443985 die es im Netz gibt und die PHP Entwicklung denen überlassen, die es auch wirklich können. Das Erstellen oder Anpassen eines professionellen Templates für das CMS und eine saubere Bildbearbeitung sind schon Arbeit genug face-smile

Aber dann kannst Du natürlich nicht mehr bei deinen Kumpels oder den Mädls mit "habe ich selbst programmiert" auftrumpfen face-wink

mrtux
TobiisFreaky
TobiisFreaky 23.05.2009 um 20:29:04 Uhr
Goto Top
genau so ein CMS will ich nicht haben/benutzen. Ich will selber was schreiben und nicht ein Tool meine Arbeit machen lassen.
So wie neuni das rübergebracht hat, gefällt mir das sehr.
Weitere Antworten würde ich gerne lesen.
chips1
chips1 23.05.2009 um 20:29:49 Uhr
Goto Top
Respekt, 443985 einzeln gezählt? hast Du da nicht ein paar übersehen?
face-smile
69961
69961 23.05.2009 um 20:42:50 Uhr
Goto Top
Hi,

nur so als Anregung.

Index.php wie folgt


<?php
require ("hp/kopf.php");

if ($_GET['showpage'] == "") {
include ("hp/sites/start.dat");
}

else {
include ("$path/hp/sites/".$_GET['showpage']);
}

require ("hp/fuss.php");

?>

dann nur alle weiteren Seiten als dat. Datei mittels php includen.


Demo hier:

http://frameless.mueller-websolution.de/index.php


mfg
FG WebSolution
mrtux
mrtux 24.05.2009 um 00:52:13 Uhr
Goto Top
Hi !

Zitat von @chips1:
Respekt, 443985 einzeln gezählt? hast Du da nicht ein paar
übersehen?
face-smile

Möchtest Du nachzählen ? Ich helfe Dir dabei, ehrlich ! face-smile

mrtux
mrtux
mrtux 24.05.2009 um 01:13:14 Uhr
Goto Top
Hi !

Zitat von @TobiisFreaky:
genau so ein CMS will ich nicht haben/benutzen. Ich will selber was
schreiben und nicht ein Tool meine Arbeit machen lassen.

Das ist natürlich ein Argument ! Ich habe in meinem Bekannten und Freundeskreis Informatik-Studenten, die sich sowas auch gebaut haben aber ganz ehrlich gesagt, habe ich da noch nix gesehen, was in Sachen Sicherheit, Wirtschaftlichkeit, Verwendbarkeit im täglichen Einsatz und Stabilität mit mehr als 5% an ein fertiges CMS herankommt.

Meist wurde "die Entwicklung" durch eine Übernahme der Site ganz schnell und unfreiwillig eingestellt face-wink

Aber durch meine blöden Sprüche nicht einschüchtern lassen......Weitermachen ! face-big-smile

mrtux
RoterFruchtZwerg
RoterFruchtZwerg 24.05.2009 um 14:01:37 Uhr
Goto Top
Diese Anregung besser wieder vergraben, sonst behält mrtux mit seiner Sicherheits-Behauptung am Ende noch recht ;)