Probleme mit implementierung :(

Suchfunktion

Erfahrenes Mitglied
Hallo, ich habe ein script, welches eine vorgegebene textdatei in eine php-seite laedt und ausgibt (innerhalb einer Tabelle)

Die Tabelle besteht aus 3x3 Tabellen,
die in der mitte beinhaltet das textdokument.

Hier ist erstmal der Link zu der Seite:
http://ahcsun.de/test/index.php?p=gopherout&file=test.txt

Jetzt zu meinem Problem:
Anscheinend wird die gesamte rechte und untere Seite der Tabelle bei einigen Leuten (auch bei mir) nicht angezeigt. Also der Text muesste vollstaendig umgeben sein von grau-gefaerbten Zellen.

Woran liegt es dass es bei einigen funktioniert und bei anderen nicht

Ich denke mal es muesste rein theoretisch am php-kram liegen,
dann bei meinen anderen seiten in denen ich haargenau das selbe template (das ding ist eigentlich ein CMS!) benutze laeuft alles ohne Probleme.

Hier der Quellcode der Seite:
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>blubb0r</title> 
<style type="text/css"> 
<!-- 
body {background-image: url(http://ahcsun.de/test/templates/bg.png); font-family: Times New Roman, Times, serif;} 
.Stil1 {color: #CCCCCC} 
.author {color: #999999;} 
a:link {color:#FFFFFF;} 
a:visited {color:#999999;} 
--> 
</style></head> 

<body> 
<div align="center"> 
  <p>&nbsp;</p> 
  <p>&nbsp;</p> 
  <table width="800" border="0" cellpadding="2"> 
    <tr align="left" valign="top" bgcolor="#CCCCCC"> 
      <td width="150">&nbsp;</td> 
      <td colspan="3"><div align="center">blubb0r</div></td> 
      <td width="150"><div align="center">{INTERNAL:PAGE}</div></td> 
    </tr> 
    <tr align="left" valign="top"> 
      <td width="150" bgcolor="#CCCCCC"><a href="http://ahcsun.de/test/index.php?p=news">news</a> 
<br> 
<a href="http://ahcsun.de/test/index.php?p=gopher">gopher</a></td> 
      <td width="5">&nbsp;</td> 
      <td width="490"><span class="Stil1">
        <?php 
          $file = realpath('../files/papers/'.$_GET['file']); 
          if (file_exists($file)) {
            $cwdinfo = pathinfo ($_SERVER['PHP_SELF']); 
            $fileinfo = pathinfo ($file); 
            if (preg_match ('/^'.escape4reg($cwdinfo['basedir']).'.*'.escape4reg($extension).'$/i',$file))         { 
              $filedata = file ($file); 
              print nl2br(htmlspecialchars(implode ("", $filedata))); 
            } 
            else { 
              print "NO!"; 
            } 
          } 
          else { 
            print "File doesnt exist!"; 
          } 
   
          function escape4reg ($var) { 
            return preg_replace ('/([\/\^$\.\[\]\(\)\?\*\+\{\}\|])','/',$var); 
          } 
        ?>
        </span>
      </td> 
      <td width="5">&nbsp;</td> 
      <td width="150" align="right" bgcolor="#CCCCCC">right</td> 
    </tr> 
    <tr align="left" valign="top" bgcolor="#CCCCCC"> 
      <td width="150" align="left" valign="top">&nbsp;</td> 
      <td colspan="3" align="center" valign="baseline"> 
        <span style="font-size:8pt" class="author"> 
powered by <a href="mailto:Fabian.Koenig@gmx.net" class="author">Fabian König</a> |            <a href="http://www.ahcsun.de" class="author">ahcsun.de</a> 
        </span> 
      </td> 
      <td width="150" align="left" valign="top"><div align="right">foo</div></td> 
    </tr> 
  </table> 
</div> 
</body> 
</html>
Die Begriffe in den {} sind nur platzhalter fuer Inhalte, die sollten nicht wichtig sein.

Dort wird also dann das textdokument eingelesen, aber dann ist, wie gesagt, die rechte zeile und die untere zeile weg :(

Kann mir jemand sagen woran das liegt?
(Wie gesagt: ist nicht bei jedem so)

Danke schonmal im Voraus!
 
Zuletzt bearbeitet:
Also bei mir wird der Fehler in allen 3 Browsern falsch angezeigt und meiner Meinung nach hast du einen Fehler im PHP Code, da der Seitenquelltext nur noch folgende Ausgabe anzeigt:
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>blubb0r</title>
<style type="text/css">
<!--
body {background-image: url(http://ahcsun.de/test/templates/bg.png); font-family: Times New Roman, Times, serif;}
.Stil1 {color: #CCCCCC}
.author {color: #999999;}
a:link {color:#FFFFFF;}
a:visited {color:#999999;}
-->
</style></head>

<body>
<div align="center">
  <p>&nbsp;</p>
  <p>&nbsp;</p>
  <table width="800" border="0" cellpadding="2">

    <tr align="left" valign="top" bgcolor="#CCCCCC">
      <td width="150">&nbsp;</td>
      <td colspan="3"><div align="center">blubb0r</div></td>
      <td width="150"><div align="center">gopherout</div></td>
    </tr>
    <tr align="left" valign="top">
      <td width="150" bgcolor="#CCCCCC"><a href="http://ahcsun.de/test/index.php?p=news">news</a>

<br>
<a href="http://ahcsun.de/test/index.php?p=gopher">gopher</a></td>
      <td width="5">&nbsp;</td>
      <td width="490"><span class="Stil1">blubbor<br />
blubbor
Mehr nicht...

Finde spontan aber keinen direkten Fehler im Source... :confused:
Bin vielleicht etwas müde... Schaue morgen nochmal...
 
ja aber wo is der fehler?
Merkwuerdigerweise wird auch der HTML-Code nach dem PHP-Bereich nicht mehr farbig angezeigt, also genau da, wo der html-code abgeschnitten wird.

Hat jemand ne Ahnung wieso dem so ist
 
Zuletzt bearbeitet:
Probier doch mal, die Funktion escape4reg() in den Datei-Kopf zu schreiben und deren Inhalt als Variable und nicht als neue Funktion zurückgeben zu lassen. Nur mal so zum Testen.
 
So,
fehler wurde gefunden, trotzdem danke erstmal :)

Hier der korrekte php-code fuer die Augabedatei:
PHP:
<?php
  $file = realpath('../files/papers/'.$_GET['file']);
  if (file_exists($file)) {
    $cwdinfo = pathinfo ($_SERVER['PHP_SELF']);
    $fileinfo = pathinfo ($file);
    if (preg_match ('/^'.preg_quote($cwdinfo['basedir'],'/').'.*'.preg_quote($extension,'/').'$/i',$file)) {
      $filedata = file ($file);
      print nl2br(htmlspecialchars(implode ("", $filedata)));
    }
    else {
      print "NO!";
    }
  }
  else {
    print "File doesnt exist!";
  }
?>

ciao :)
 
Zuletzt bearbeitet:
Zurück