Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.38 veröffentlicht (30.04.24)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
[PHP] Titel verändern wenn andere include-Datei
#1
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
Zitieren
#2
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.
Zitieren
#3
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
Zitieren
#4
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 Wink

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...
Zitieren


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Upload Mit Php verändern. da3d 0 2.122 29.11.2009, 20:26
Letzter Beitrag: da3d
  Problem mit include-Script Riccardo 5 2.926 15.07.2009, 01:11
Letzter Beitrag: linwinman
  Andere Seite anwählen wenn nicht erreichbar? aTCWiki 15 5.833 11.04.2009, 18:46
Letzter Beitrag: wWs
  Include! limbstone 4 2.123 10.12.2007, 07:52
Letzter Beitrag: Heinisch
  include in if-abfrage Jack Sparrow 5 2.567 25.03.2007, 20:39
Letzter Beitrag: Michael