ich habe mir den code nun mal angesehen, habe aber schon nach ein paar zeilen aufgehört zu suchen, denn:
was du da machst ist hochgradig unsicher, du prüfst nur, ob $_GET['befehl'] ein file ist, damit kann man im schlimmsten fall deinen server entern und belibige scripte ausführen. du solltest prüfen, ob das file in einem bestimmten verzeichnis liegt (also mit einem absoluten pfad).
ausserdem setzt du dein rowspan zu spät. ich hänge dir mal einen code an, der etwas sicherer sein sollte und bei mir problemlos funktioniert. ausserdem habe ich da gleich den aktiven link auf css umgebaut. die daten liegen in einem unter verzeichnis, dass man z.b. mit .htaccess vor direktem zugriff schützen kann, eine dateiendung ist auch nicht mehr notwendig (könnte aber trotzdem sein. ich hoffe es ist zumindest ein ansatz für dich.
PHP:
<?PHP
?>
<html>
<head>
<title>
PHP befehle
:: My-Script.at
</title>
</head>
<body>
<?PHP
$links = file("linkliste.txt"); // die links ausgeben
$str = "keine daten gefunden";
if(file_exists("daten/".$_GET['befehl'] ))
{
$str = file_get_contents("daten/".$_GET['befehl']);
}
/**
*
* bearbeitung und prüfung des strings
*
*
**/
?>
<table class="anzeige1" border="1" width="90%">
<tr>
<td class="header" width="20%">Befehle</td>
<td class="header" >Text</td>
</tr>
<tr>
<td></td>
<td rowspan="<?PHP echo (count($links) + 1); ?>" valign="top"><code><span style="color: #000000"><?PHP echo $str; ?></span></code></td>
</tr>
<?PHP
for($i = 0; $i < count($links); $i++)
{
$werte = explode("\t",$links[$i]); // die einzelnen csv-daten zeilenweise auslesen
if($_GET['befehl'] == trim($werte[1])) $class="aktiv";
else $class="inaktiv";
echo "<tr>\n <td class=\"".$class."\"><a href=\"".$_SERVER['PHP_SELF'].'?befehl='.trim($werte[1]).'">'.trim($werte[0])."</a></td>\n</tr>\n";
}
echo "</table>\n</body>\n</html>";
eine datei (bei mir heisst sie linkliste.txt) muss im stammverzeichnis vorhanden sein, die als erstes feld den linknamen und als zweites feld den dateinamen enthalten muss. da ich mit csv dateien arbeite, sind die werte durch TAB getrennt.
Code:
link name1 bla
link name2 bla2
link name3 bla3
link name4 bla4
im unterverzeichnis daten liegen dann die dateien mit den inhalten (hier also bla, bla2, bla3 etc.....)
wenn du dir nun noch eine css datei zusammen bastelst, die die klassen tabelle1, aktiv, inaktiv und header beinhaltet, kannst du deine tabelle schon mal per css anpassen.
wie gesagt, nur ein vorschlag.