Problem mit Title-Tag in Website (Bitte um Hilfe)

holger2401

Grünschnabel
Guten Morgen.

Bin zum ersten mal hier im Forum unterwegs und habe von Freunden erfahren das man hier gerne geholfen bekommt.

Nun zum Problem:
Da ich mit PHP noch nicht so vertraut bin hoffe ich das Ihr mir weiterhelfen könnt.

Habe mich mal versucht eine Website in PHP zu erstellen die nur über die index.php angezeigt wird und die dementsprechenden Unterseite (z.B. seite1) über variablen herangeholt werden alos so z.B. index.php?s=seite1

Habe nun in der index.php die Bereiche header.php, content.php und footer.php die per Include eingebunden wurden. Das funktioniert auch wunderbar.

In der header.php stehen alle Infos über die Seite wie z.B. Meta-Tags, Seitenbeschreibung und Titleinformationen.

Der Title-Tag soll nun mit dem entsprechenden Titel der includeten Unterseite versehen werden.Das habe ich so vorgesehen:

PHP:
<title><?php  echo $title;?></title>

und in der zu includenden Unterseite steht ganz oben:

PHP:
<?php $title = "seite1"; ?>

Nun schreibt aber PHP eine Fehlermeldung das es sich um eine undefinierte Variable handelt.
Wo muss ich denn die Variable definieren?
 
Kann es sein das du zuerst versuchst die Variable auszugeben und erst später die entsprechende Datei includest?

Quasi so:

PHP:
<?php echo $title; ?>
Hier ist die Variable title noch nicht bekannt!
<?php include "seite_mit_variablen.php"; ?>
Ab hier aber schon.
 
Also die Variablen stehen in der header.php und sieht so aus:

PHP:
<?php
error_reporting(E_ALL); 
ini_set('display_errors', 1); 
$seiten = array(); 
$seiten['seite1'] = 'seite1.php'; 
$seiten['seite2'] = 'seite2.php'; 
$seiten['seite3'] = 'seite3.php'; 
$s = @$_GET['s']; 
?>

und in der index.php steht dann:

PHP:
<?php 
if (isset($_GET['s']) and array_key_exists($_GET['s'], $seiten)) 
{ 
  if (file_exists($seiten[$_GET['s']])) 
  { 
    include($seiten[$_GET['s']]);
  } 
  else 
  { 
    echo "Die Datei kann auf dem Server nicht gefunden werden."; 
    echo "<p><b>Datei: ".$seiten[$_GET['s']]."</b></p>"; 
  } 
} 
else
{
 
  include($seiten['seite1']); 
}  

?>
 
Hier mal die Meldung:


Code:
<b>Notice</b>:  Undefined variable: title in <b>C:\xampp\htdocs\meineseite\includes\header.inc.php</b> on line <b>14</b><br />
 
Das die header.php in die index.php eingebunden wird ist schon klar. Ich wollte wissen wo im Code.

Da wo du oben den Inhalt der header.php gepostet hast steht kein echo Befehl drin!? Also kann das nicht alles sein (zumal sie auch keine 14 oder mehr Zeilen hat).
 
PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title><?php  echo $title;?></title>     
           
<link href="./css/style.css" rel="stylesheet" type="text/css">
</head>

<body>
 
Zuletzt bearbeitet:
Zurück