Dynamische Bildershow

tarcus

Mitglied
Hallo, ich habe für einen Kunden eine einfache PHP-Bildershow aufgesetzt, welche ohne MySQL zu betreiben ist, nun hänge ich am wichtigsten Part fest, es geht mir um die Startseite :)
Dies soll folgendermassen aussehen:
Es sind Ordner auf dem FTP vorhanden und diese Ordnernamen sollen ausgelesen werden und in einer kleinen Tabelle dargestellt werden. So, ich denke ich hab da in dem Code nur ein paar "Rechtschreibfehler" drin, aber nach ewigem Hin-und Herprobieren, frag ich lieber hier nach, Zeit ist bekanntlicherweise Geld :)
Anbei noch die Tabelle zum Ansehen damit Ihr wisst, wie sie aussehen soll. http://www.myrastonetrade.de/nav.html

Und hier nun mein Code:

PHP:
  if($done == false) {
echo "<table width="\50%\" border="\0\"><tr><th scope="col"><table width="\10%\" border="\0\"><tr>";
echo "<td class="btnav" onmouseover="style.backgroundColor='#6d6758';"onmouseout="style.backgroundColor='#FFFFFF'"width="10%" valign="baseline">
<a href=\"$PHP_SELF?path=$fullpath\" target=\"mainFrame\"><center>"$aFn"</center></a></tr></table>";
}
Die erste Zeile ist nicht wichtig, sie dient nur zur Auswahl für mehrere Darstellungen.
Die Variable $aFn ist dabei der Ordnername.

Ich danke euch schonmal für eure Mühe im Vorraus :)
 
Dennis Wronka hat gesagt.:
Anhand Deiner Beschreibung scheint es mir als koennte Dir ein Blick in diese Gallerie behilflich sein.
Danke für den Link, hilft mir aber nicht wirklich weiter denn ->
1.) Ich will ein eigenes Script schreiben
2.) Es ging mir viel mehr in dem 3Zeiler darum, das da irgendwo ein Tippfehler drin ist, und ich langsam verzweifle weil die php beim ausführen einfach nix anzeigt.

Das Script von mir ist ansonsten schon voll funktionsfähig, nur die Startseite mit der Darstellung der Ordner geht noch nicht in einer Tabelle.
 
Wie dir die Syntaxhervorhebung vielleicht schon verrät, ist die Zeichenkettenauszeichnung fehlerhaft (Zeichenketten werden rot dargestellt). Am besten solltest du auch die Fehlermeldungssensibilität PHPs höher setzen, damit mögliche unterdrückte Fehlermeldungen ausgegeben werden.
 
Du musst ja den verlinkten Code nicht unbedingt benutzen. Oft hilft ein Blick in fremden Code eigene Probleme zu loesen.
Aber: Problem erkannt, Gefahr gebannt!

Dein Problem liegt hier:
PHP:
echo "<table width="50%" border="0"><tr><th scope="col"><table width="10%" border="0"><tr>";
Du benutzt innerhalb der Ausgabe die gleichen Anfuehrungszeichen wie als Auszeichnung fuer den String.
Wenn Du innerhalb eines Strings Anfuehrungszeichen nutzen willst musst Du entweder die jeweils anderen nehmen oder aber diese mittels \ escapen.
Du kannst also nun folgende Varianten nutzen:
Einfach:
PHP:
echo '<table width="50%" border="0"><tr><th scope="col"><table width="10%" border="0"><tr>';
Haesslich:
PHP:
echo "<table width=\"50%\" border=\"0\"><tr><th scope=\"col\"><table width=\"10%\" border=\"0\"><tr>";
 
So ich fasse zusammen (klappt nämlich immer noch nicht)

PHP:
  if($done == false) {
echo '<table width="50%" border="0"><tr><th scope="col"><table width="10%" border="0"><tr>'; 
echo '<td class="btnav" onmouseover="style.backgroundColor="#6d6758" onmouseout="style.backgroundColor="#FFFFFF"width="10%" valign="baseline">
<a href="$PHP_SELF?path=$fullpath" target="mainFrame"><center>"$aFn"</center></a></tr></table>';
}
Achja vorher hats schon mit einer ordner.gif geklappt, das geht jeztt irgendwie nur nicht mit Tabellen
Hier der Code mit der Ordner-Grafik:
PHP:
  if($done == false) {

    $imgsize = GetImageSize("ordner.gif");

    echo "<center><a href=\"$PHP_SELF?path=$fullpath\"><img border=\"0\" width=\"$imgsize[0]\" height=\"$imgsize[1]\" src=\"folder.gif\"></img></a></center>";

  }

  

  echo "<br><center>$aFn</center>";

  echo "</td>";
Danke für die zahlreichen Antworten, ich hoffe ich komme dem Ergebnis ein Stück näher :)
 
Zuletzt bearbeitet:
Hoi,
ja das kenne ich. Auftragsarbeit und dann sieht man einfache Fehler nicht mehr.
Ich muss leider sagen, das ich nicht genau weiss, was nicht funktioniert. Wird gar nichts angezeigt?

Ich habe bei deiner korrigierten Version noch HTML Fehler entdeckt, was aber wenigstens etwas zeigen sollte:
PHP:
echo '<td class="btnav" onmouseover="style.backgroundColor=\'#6d6758\'" onmouseout="style.backgroundColor=\'#FFFFFF\'" width="10%" valign="baseline">

Auch wenn ich beim escapen von Anführungs- oder Hochkommazeichen kein Freund bin, hier finde ich es übersichtlicher.

Zu deinem Problem:
Ich habe mir deinen Link angeschaut. Dort ist eine NavBar, aber ohne Inhalt oder einer Funktion. Dies dient wohl auch nur als Veranschaulichung.
Ansonsten hänge ich noch an dem wirklichen Problem. Was geht nicht?
Werden die Ordner nicht ausgelesen oder ist nur die Darstellung falsch?

Gruss
 
Mairhofer hat gesagt.:
Hoi,
ja das kenne ich. Auftragsarbeit und dann sieht man einfache Fehler nicht mehr.
Ich muss leider sagen, das ich nicht genau weiss, was nicht funktioniert. Wird gar nichts angezeigt?

Ich habe bei deiner korrigierten Version noch HTML Fehler entdeckt, was aber wenigstens etwas zeigen sollte:
PHP:
echo '<td class="btnav" onmouseover="style.backgroundColor=\'#6d6758\'" onmouseout="style.backgroundColor=\'#FFFFFF\'" width="10%" valign="baseline">
Auch wenn ich beim escapen von Anführungs- oder Hochkommazeichen kein Freund bin, hier finde ich es übersichtlicher.

Zu deinem Problem:
Ich habe mir deinen Link angeschaut. Dort ist eine NavBar, aber ohne Inhalt oder einer Funktion. Dies dient wohl auch nur als Veranschaulichung.
Ansonsten hänge ich noch an dem wirklichen Problem. Was geht nicht?
Werden die Ordner nicht ausgelesen oder ist nur die Darstellung falsch?

Gruss

Jop, die ist nur zur Veranschaulichung, wenn du regulär auf myrastonetrade.de vorbeisurfst, siehst du die Funktion davon :)
Es wird einfach nur die Hintergrundfarbe der Seite angezeigt, und das wars dann auch.
Aber danke, dass du dich der Sache annimmst, mein Kopf raucht schon, kaum geschlafen heute Nacht.
 
Ich bin gerade etwas durcheinander.
Bei mir auf der Seite sehe ich alles. Menü(Home, Produkte, Projekte.....), Inhalt, Bilder usw.

Hier mal der HTML COde, der mir im Nav Fram gegeben wird:

HTML:
<body bgcolor="#C7B26E" background="">
<table width="100%" border="0">
  <tr>
    <th align="left" scope="col"><img src="img/logo2.jpg" alt="Logo" width="725" height="108" /></th>
  </tr>
</table>
<table width="100%" border="0">
  <tr>
    <th scope="col"><table width="100%" height="16px"border="0">
      <tr>
        <td class="btnav" onmouseover="style.backgroundColor='#6d6758';"onmouseout="style.backgroundColor='#FFFFFF'"width="10%" valign="baseline"><a href="start.html" target="mainFrame">Home</a> 
        <td class="btnav" onmouseover="style.backgroundColor='#6d6758';"onmouseout="style.backgroundColor='#FFFFFF'"width="10%" valign="baseline"><a href="produkte.html" target="mainFrame">Produkte</a></td>
        <td class="btnav" onmouseover="style.backgroundColor='#6d6758';"onmouseout="style.backgroundColor='#FFFFFF'"width="10%" valign="baseline"><a href="projekte.html" target="mainFrame">Projekte</a></td>
        <td class="btnav" onmouseover="style.backgroundColor='#6d6758';"onmouseout="style.backgroundColor='#FFFFFF'"width="10%" valign="baseline"><a href="bruch/index.php" target="mainFrame">Bruch</a></td>
        <td class="btnav" onmouseover="style.backgroundColor='#6d6758';"onmouseout="style.backgroundColor='#FFFFFF'"width="10%" valign="baseline"><a href="about.html" target="mainFrame">&Uuml;ber uns</a></td>
        <td class="btnav" onmouseover="style.backgroundColor='#6d6758';"onmouseout="style.backgroundColor='#FFFFFF'"width="10%" valign="baseline"><a href="kontakt.html" target="mainFrame">Kontakt</a></td>
      </tr>
    </table></th>
  </tr>
</table>
</body>

Gruss

// Edit: Was ich damit zeigen wollte ist, das da nicht nur eine leer Seite ist.
 
Sorry, ich hab mich glaube ich etwas falsch ausgedrückt. Im Menü ist ein Unterpunkt Bruch, in dem möchte ich diese Bildershow reinmachen.
Es ging auch schonmal aber nur mit einer folder.gif für die Kategorien. Allerdings möchte ich anstatt der folder.gif eine Tabelle wie die Navigation haben, in der dann die Kategorien drinstehen und natürlich anklickbar sind. Hoffe ich habs etwas besser ausgedrückt nun.
 
Zurück