Komplette Website in PHP erstellen

Also dafür musst schon was besser php können, du willst also alle Inhalte in die Index.php schreiben bzw. erscheinen lassen, verstehe ich doch richtig od.?
Das geht natürlich, aber ich rate dir davon ab :D.
Mach lieber immer einzelne dateien.
Hier mal son gerüst, ob es dir weiterhilft ist ne andere frage ;).

|| include header ||
.................................
|| Inhalt der seite ||
.................................
|| include footer ||

od. willst du mit get_variablen arbeiten?
da findest du nämlich unter tutorials --> php eine gute Beschreibung zu.
 
Man muss nicht unbedingt gleich ein CMS nehmen. Das erscheint mir für eine kleine Seite doch zu umfangreich.

Du kannst dir auch eifnach eine index.php basteln in der du die Variable s ausliest. Du rufst dann alle Seiten immer z.B. so auf: index.php?s=gaestebuch . In der index.php kommt oben dann der Header unten der Footer und in der Mitte wird die s Seite inkludiert.

P.s. Mein 800. Beitrag. :)

Hallo Leute.
Bin heute zum ersten mal hier und habe hier diesen Beitrag gefunden.
Wäre es möglich mir das mal verständlich zu erklären wie man so eine index.php erstellt und dann mit dieser Variable s ausliest.
Wie erstelle ich solche Dateien und wie werden diese dann gespeichert?

Hoffe ich konnte mich soweit klar ausdrücken.

Vielen Dank im Voraus
 
Da ich ja kein Unmensch bin und den tausendsten Querverweis lieferen möchte, hier mal eine kurze Erklärung:

Also du erstellst dir eine index.php. Die muss nicht ausschließlich php-Code beinhalten, sondern kann auch aus Dinge wie HTML oder JavaScript bestehen. Wichtig ist nur, dass der php-code gekennzeichnet wird, indem er zwischen <?php und ?> eingeschlossen ist.
Dann kannst du dir einen Link erstellen, der erneut auf die index.php verweist, halt nur mit einem zusätzlichen Parameter (in diesem Fall "S"), oder der Link verweist auf eine andere Seite, die den Parameter verarbeitet und den entsprechenden Inhalt ausgibt.

Das ganze jetzt noch mal in Code-Form (soll ja auch Menschen geben die es lieber visuell haben ;)):

index.php
PHP:
<?php
$s = $_GET['s'];

switch ($s) {
   case gaestebuch:
          include_once('Gästebuch.html');
          break;

   case impressum:
          include_once('Impressum.html');
          break;
}
?>

die Zeile $s = $_GET['s']; weißt der Variable $s den Inhalt des Parameters 's' zu.
Das haben wir, nur muss der parameter ja auch irgendwo initialisiert werden z.B. über einen Link auf einer anderen Seite:

PHP:
echo"<a href='index.php?s=gaestebuch'>Gästebuch</a>";
echo"<a href='index.php?s=impressum'>Impressum</a>";

Das sind jetzt die Links, die wieder auf die Index.php verweisen. Und der Codeausschnitt, den ich weiter oben schon gepostet habe, macht jetzt nichts anderes, als den Wert des Parameters an eine Variable zu übergeben, welche analysiert wird (ist der Wert Impressum, wird ebend die Seite Impressum.html inkludiert)...

Das ist eigentlich auch schon der ganze Spaß dabei. Aber bitte nicht so umsetzen, es dient nur der Veranschaulichung, da hier noch Sicherheitslücken geschlossen werden müssten. (Außerdem hab ich mal alles andere wie HTML weg gelassen, damit wir uns hier aufs Wesentliche konzentrieren können)

Falls dir das alles nichts gebracht hat (vllt. kann ich einfach nicht gut erklären :)), dann habe ich hier trotzdem nochmal einen Querverweis für dich:
http://tut.php-q.net/de/get.html
 
Danke für die schnelle Antwort.
Super und verständlich erklärt.
Sollte ich noch Fragen haben dann schreib ich nochmal rein.

Vielen vielen Dank
LG Sindy
 
Hi Leuts,
ich habe das nun hier soweit kapiert aber nun habe ich schon das nächste Problem.
Ist es denn möglich die Links in dem Fall auch jenachdem was für eine Seite angezeigt wird mit a:active oder a:focus verändert dargestellt anzeigen zu lassen.
Hab schon alles probiert aber es funktioniert nicht.
 
Oh sorry hab ich vergessen reinzumachen. hier mal der Code:

PHP:
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
$s = array();
$s['news'] = 'news.php';
$s['kontakt'] = 'kontakt.php';
$s['impressum'] = 'impressum.php';
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>bla bla bla</title>
<link href="css/style.css" rel="stylesheet" type="text/css" />

</head>

<body>
<!--Content-->
<div id="content">
<!--Head-->
<div id="head" title="bla bla bla">
<!--Navi_Top-->
<div id="navi_top">
<a href="index.php?s=index" title="Startseite">Startseite&nbsp;&middot;</a>
<a href="index.php?s=kontakt" title="Kontakt">Kontakt&nbsp;&middot;</a>
<a href="index.php?s=impressum" title="Impressum">Impressum</a>
</div>
<!--End Navi_Top-->

</div>
<!--End Head-->
</div>
<!--End Content-->
<div>
<?php
if (isset($_GET['s'], $s[$_GET['s']])) {
    include $s[$_GET['s']];
} else {    
    include $s['news'];
}

 ?>
</div>
</body>
</html>
 
Zuletzt bearbeitet:
Und wo steht das CSS? In der css/style.css?

Sowas ist sehr sehr gefährlich!:
PHP:
include $s[$_GET['s']];
Man könnte als GET-Parameter eine URL setzen und schon landet fremder PHP-Code in deinem PHP-Code. Sofort verbessern!
 
ja steht in der css:

was ist denn da gefährlich. wie kann ich das lösen?
Danke im Voraus

Code:
/* CSS Document */
/*Links_und_Site_Einstellungen*/


body {
	background-color:#438FD1;
	margin: 0px;
	background-image: url(../grafiken_website/pixel.jpg);
	background-repeat: repeat-x;
}

p {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 12px;
	color: #88C5DA;
	outline: 0px;
	text-decoration: none;
	line-height: 20px;
}
h1 {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 13px;
	color: #88C5DA;
	outline: 0px;
	text-decoration: none;
}
h2 {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 12px;
	color: #88C5DA;
	outline: 0px;
	text-decoration: none;
}	
a:link {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 13px;
	color: #FFCE29;
	outline: 0px;
	text-decoration: none;
	font-style: italic;
}
a:visited {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 13px;
	color: #000000;
	outline: 0px;
	text-decoration: none;
	font-style: italic;
}
a:hover{
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 13px;
	color: #ffffff;
	text-decoration: none;
	font-style: italic;
}
a:active{
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 13px;
	color: #FFFFFF;
	text-decoration: none;
	font-style: italic;
}
a.active, a.aktiv:active, a.aktiv:visited {
color:#FFFFFF;
font-family:Verdana, Arial, Helvetica, sans-serif;
font-size: 13px;
background-color:#88C5DA;
font-weight: bold;
font-style: italic;
}


/*Ausgabe Website*/


div#content {
	width: 950px;
	margin: 0px auto 0px auto;
	background-color:#4F9BDE;
	background-image: url(../grafiken_website/pixelhintergrund.jpg);
	background-repeat: repeat-y;
}
div#head {
margin: 0px auto 0px auto;
	width: 950px;
	height: 358px;
	background-image: url(../grafiken_website/kopf.jpg);
	background-repeat: no-repeat;
	background-position: center;
}
div#navi_top {
float: right;
width: 850px;
margin: 0px 50px 0px auto;
height: 50px;
line-height: 50px;
text-align: right;
}

/*Klassen*/
 
Zuletzt bearbeitet:
Zurück