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