Links immer gleich?

Ich weiß nicht, wie ich das nennen soll, weshalb ich auch die Suche nicht benutzt habe (-> wonach suchen?). Deshalb hier eine Beschreibung meines Problems:

Ich hab jetzt eine Vorlage runtergeladen, die aber natürlich in html geschrieben ist. Das kann ja auch ruhig so bleiben, doch ich möchte, dass an der Stelle, an der der Text der jeweiligen Seite erscheint (also z.B. bei Index „Herzlich Willkommen…“ und bei Kontakt „E-Mail: blubb“), php eingebunden wird, damit ich die Stellen dann nur mit .txt-Dateien machen muss, sodass ich die Links nicht immer neu proggen muss, was ja zwangsläufig zu Fehlern führt und seehr zeitraubend ist.

Wäre also erfreut über den nötigen php-Code und wie man ihn einbaut.

Lg

sowas macht man dann eher mit SQL-datenbanken.

wenns aber dadrum geht:

http://de.php.net/manual/de/function.include.php

Nils aka XraYSoLo

Hmm… irgendwie verstehe ich das, was da steht, nicht so ganz … könntest du mir vielleicht erklären, wo ich das einbauen soll und was ich da noch alles machen muss, damit an der Stelle dann die jeweiligen Texte erscheinen? Jemand hat mir mal erzählt, dass man dann .txt-dateien erstellen kann, mit dem Text, und der erscheint dann halt da … aber wie? xDD

Du hast eine index.php in der du einen Willkommensgruß schreiben willst.
Also:
index.php:
[php]

<?php include('willkommen.txt'); ?>

[/php]
willkommen.txt:

Herzlich Willkommen auf meiner Website!

Ah, super, danke!

Ich würde das ganze ein wenig besser erklären TheShadow.

Wenn du es verlinken möchtest, dann machs so: (Die Links werden so aufgerufen: index.php?variable=name&variable2=name&usw=…)

[php]

<?php $site = $_GET['site']; if(!isset($site)) // Wenn die Variabel $site nicht bestimmt ist, dann { $site = 'home' // Standartwert 'home' setzen (index.php?site=home) } switch($site) { default: include("pfad/error.php"); break; case 'home': include("pfad/home.php"); break; } ?>

[/php]
Dann sieht das ganze so aus, um es aufzurufen: index.php?site=home

Legende:
if(!isset($site))
!isset prüft, ob die Variabel $site gesetzt worden ist.

$site = ‚home‘
Und wenn es nicht angegeben ist (index.php?site=…), dann soll er den Standart setzen (site=home)

site=
besteht da es bei der $_GET Variabel [‚‘] steht.

=home
steht, da beim case ‚home‘ steht.

default
ist da, falls keine Seite existiert, dass eine Errormeldung kommt (index.php?site=xyz >> Besteht nicht.) Deshalb kommt der Error hin.

[spam]
[PHP]

<?php if((isset($_REQUIRE["site"]) && $site = $_REQUIRE["site"])||(!isset($_REQUIRE["site"]) && $site = "home")) { $err = "sites/error.php"; switch($site) { case "home": $pfad = "sites/home.php"; if(file_exists($pfad)) include($pfad); else include($err); break; default: include($err); break; } } ?>

[/PHP]
[/spam]

Es geht trotzdem beides und so wie er es erklärt hatte, fand ich die Lösung am passensten.
Gruß

Welche Lösung?

Mit dem einfachen Include, ohne $_GET.
Gruß

dann hat man aber keine kontrolle drüber und es ist umständlicher.

Nils aka XraYSoLo

Mit der $_GET Variabel hat er eine bessere übersicht und es ist viel sicherer.
Es gibt wenige, die includes ohne $_GET benutzen.

Deine Theorie:
[php]<?php include('link.php'); ?>[/php]

Meine Theorie:
[php]<?php $include = ($_GET['name']); switch($include) { ..... } ?>[/php]

Welche ist nun besser?
Falls man bei deinem include eine andere Datei aufrufen will, dann muss man alles sehr umständlich machen.
Bei mir ist’s dann nicht umständlich, sondern einfach seite.php?name=…

Ich weiss. Ich dachte aber, dass er sowas mit $_GET nicht will.
Das ist ja jetzt auch egal.