Yadgar: Inkludierte Funktion wird nicht ausgeführt

Beitrag lesen

Hi(gh)!

Ich versuche gerade, meinen Website auf einem lokal installierten Apache unter Windows 7 zum Laufen zu bringen... prinzipiell funktioniert PHP, aber ich muss (wie schon bei früheren Versuchen) feststellen, dass in inkludierten Dateien definierte und in der Hauptskriptdatei aufgerufene Funktionen nicht ausgeführt werden - aber andererseits keinerlei Fehlermeldungen angezeigt werden!

Konkret:

So sollte die Seite aussehen: http://www.rock-o-data.de/khyberspace/start-d.php

Tatsächlich wird die Text-Navigationszeile unter dem Link zur englischen Version nicht angezeigt...

Der fragliche Code sieht so aus, zuerst das Hauptskript:


<?php
  require("head.php");
  require("navdata-d.php");
  require("nav.php");
  head("Willkommen im Khyberspace!", "format_start.css");
  error_reporting(E_ALL);
  ini_set('display_errors', 1);

?>
  <body>
    <div>
      <p>
	<a href="start-e.php" target="_top">[ English version ]</a>
      </p>
<?
 nav(0, $nav, $navlinks);
?>
      <h1>Willkommen im Khyberspace!</h1>
      <p>
	<span class="i">Khyberspace? Das heißt doch Cyberspace! Oder?</span>
      </p>

head.php:


<?php
  function head($title, $stylesheet)
	{
    echo '<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"';
	  echo '  "http://www.w3.org/TR/html4/loose.dtd">';
    echo '<html>';
    echo '  <head>';
		echo '    <title>'.$title.'</title>';		
	  echo '    <meta http-equiv="Content-Type" content="text/html; charset=utf8">';
	  echo '<link rel="stylesheet" href="'.$stylesheet.'" type="text/css"></link>';
    echo '  </head>';
	}	
?>	

Interessanterweise wird head() im Hauptskript durchaus ausgeführt...

navdata-d.php:


<?php
  $nav = array ("Startseite", "Impressum", "Fahrrad-Blog", "Khyberspace", "POVEarth", "Schwingungen", "Rock-o-Data", "Flagmaker", "Musical Box", "GREENBOOK");
  $navlinks = array ("start-d.php", "impressum.php", "bikeblog.php", "#", "#", "schwingungen-d.php", "#", "flagmaker_einfuehrung.php", "musicalbox.php", "greenbook-d.php" );
?>

nav.php:


<?php
  function nav($gap, $nav, $navlinks)
  {
    echo '<p style="text-align:center">';
    $max = count($nav);
     for ($i=0; $i<$max; $i++)
    {
      if ($i == $gap) continue;
      if ($i < count($navlinks))
        echo '<a href="'.$navlinks[$i].'" target="_top">';
      echo " ".$nav[$i]." ";
      if ($i < count($navlinks))
        echo "</a>";
      if ($i < $max-1 && !($i == $max-2 && $gap == $max-1)) echo "|";
    }
    echo "</p>";
  }
?>

Aus unerfindlichen Gründen kann ich nav() aufrufen, es wird aber nicht ausgeführt - was läuft da falsch?

Bis bald im Khyberspace!

Yadgar