Beiträge: 140
Themen: 44
Registriert seit: 30.01.2009
18.07.2009, 19:50
(Dieser Beitrag wurde zuletzt bearbeitet: 18.07.2009, 19:51 von Waluigi.)
Hallöchen,
Ich verstehe im Moment leider nicht, wie ich den Titel meiner Internetseite ändere, wenn ich auf andere interne Links auf meiner Seite verlinke.
Dies mache ich mit include:
PHP-Code:
$site = $_GET['site'];
if(!isset($site))
{
$site="news";
}
$invalide = array('/','//',':','.');
$site = str_replace($invalide,' ',$site);
include("seiten/".$site.".php");
Doch wenn ich eine andere Seite include, kann ich den Titel meiner Page nicht mehr ändern, ist das richtig?
Gibt es dafür eine Lösung?
MfG,
Waluigi
Beiträge: 564
Themen: 49
Registriert seit: 15.08.2008
MyBB-Version: 1.4.x
18.07.2009, 20:04
(Dieser Beitrag wurde zuletzt bearbeitet: 18.07.2009, 21:10 von Marti95..)
Code:
<head>
<title>TITEL Der Seite</title>
</head>
Vor dem <body> einfügen:
PHP-Code:
<head>
<?php
$site = $_GET['site'];
if(!isset($site)) {
$site="news";
}
$invalide = array('/','//',':','.');
$site = str_replace($invalide,' ',$site);
include("seiten/".$site.".php");
if ($site == "news"){
?>
<title>News</title>
<?php
}else{
?>
<title>andere Seite</title>
<? } ?>
</head>
so würde das gehn...
Gruss
Freundliche Grüsse
Marti95.
Die deutsche Rechtschreibung ist Freeware, dass heißt Du darfst sie kostenlos benutzen.
Sie ist allerdings nicht Open Source, dass heißt Du darfst sie weder verändern, noch in veränderter Form veröffentlichen.
Beiträge: 140
Themen: 44
Registriert seit: 30.01.2009
Ja, sowas habe ich mir auch schon gedacht.
Leider habe ich sehr viele Seiten und es kommen fast täglich mehr Seiten hinzu.
Ich wollte jetzt eigentlich nicht eine Datei machen, wo ich dann hunderte if-Anwendungen rein schreibe. Das fände ich etwas aufwendig.
Kann man das nicht vielleicht nicht noch irgendwie anders machen?
Wir schreben nämlich viele Tests und wenn die Endung "index.php?site=tests&testID=67" ist, gebe ich ja eigentlich auch sehr unbrauchbare Variablen wieder.
Kann mir vielleicht trotzdem jemand einen Tipp geben, wie ich das am besten machen kann?
MfG,
Waluigi
Beiträge: 490
Themen: 49
Registriert seit: 22.12.2006
MyBB-Version: 1.6.2
30.07.2009, 09:27
(Dieser Beitrag wurde zuletzt bearbeitet: 30.07.2009, 09:31 von Zwoetzen.)
Wäre es nicht am einfachsten, einfach eine Variable zB $title festzulegen, die jedes zu includierende Script mit einem Wert füllen muss? Dann könntest du nach dem include des "Unterscripts" einfach $title als Titel ausgeben, und hast die Festlegung des Titels immer in deinen Unterscripten, und kein überdimensioniertes If oder switch im Hauptscript
index.php
PHP-Code:
$site = $_GET['site'];
if(!isset($site))
{
$site="news";
}
$invalide = array('/','//',':','.');
$site = str_replace($invalide,' ',$site);
include("seiten/".$site.".php");
// Eventuell noch prüfen, ob $title wirklich belegt ist, und andernfalls nen Standard-Titel zuweisen
echo "<head><title>{$title}</title></head>"; //Titel ausgeben
news.php
PHP-Code:
<?php
$title = "News und so";
// Und der ganze Rest, was so eine news.php noch so macht ^^
?>
EDIT:
Eventuell ist es besser, auf eine Konstante zurückzugreifen, die in den Unterscripts definiert, und im Hauptscript dann ausgegeben wird. Der Vorteil ist, dass einmalig definiert, diese sich nicht mehr (versehentlich) überschreiben lässt, bei der oberen Lösung kann schnell mal an $title was neues (auch versehentlich) zugewiesen werden ^^
index.php
PHP-Code:
// include Dingens
if (!defined('TITLE')) define('TITLE', "Standard Titel");
echo "<head><title>".TITLE."</title></head>";
news.php
PHP-Code:
define('TITLE', "News und so");
Was ist der Unterschied zwischen der Politik und der Informatik?
In der Informatik ignoriert man führende Nullen...