Bildergalerie mehrfach einbinden

PHP: Hypertext Preprocessor

Bildergalerie mehrfach einbinden

Beitragvon Saga am Di 28. Dez 2010, 09:57

Hallo alle miteinander,

ich hoffe, dass mit hier jemand helfen kann.
Ich habe mir hier von der Seite die Bildergalerie mit JS und PHP heruntergeladen und möchte diese gerne mehrfach in einer HTML einbinden, damit man eine Übersicht aller Galerien hat. Mit "require_once" hat's natürlich nicht funktioniert, also hab ich es mit "include" versucht, was aber nur dazu geführt hat, dass sich alle Galerien in einer zusammenfassen. Dann habe ich mir überlegt, das Problem über ein "select" mit einer "if/elseif-Schleife" zu lösen. Auf meinem virtuellen Server (MOWES-Portable) hat es auch wunderbar funktioniert, nur online läd sich das Script tot. Ich habe es auf zwei verschiedenen Webservern versucht. Bei einem laden sich immerhin noch die Navigationsgrafiken und die Bilder werden auch noch gezählt, nur werden keine Thumbs angezeigt (auch das transperent.gif nicht). Auf dem anderen Webserver hängt sich das Script schon nach dem echo"<h2>Galeriename</h2>"; auf.

Hat irgendjemand eine Idee , woran das liegen könnte? Vielleicht seh ich auch nur vor lauter Bäumen den Wald nicht mehr...

Ich danke schonmal im Voraus,
MfG
Saga

HTML-Code (media.php)
Code: Alles auswählen
<form name="Galerie">
<table border="0">
<tr>
<td>w&auml;hle eine Galerie aus:</td>
<td> <select name="Galerie" action="media.php" size="1"  method="post">
      <option name="nix" value="nix">----------------------</option>
      <option name="Videodreh" value="Videodreh">Videodreh</option>
         <option name="Signinsession" value="Signinsession">Signinsession</option>
        <option name="nix" value="nix">----------------------</option>
    </select></td>
    <td><input name="submit" type="submit" value="OK" /></td>
</tr>
</table>
</form>

PHP-Code (media.php)
Code: Alles auswählen
<?php
if($_REQUEST['submit'])
{
if ($_REQUEST['Galerie'] == 'nix')
   {
   
echo"<center>Bitte w&auml;hle eine Galerie aus!</center>";
   }
elseif ($_REQUEST['Galerie'] == 'Videodreh')
   {
   echo"<h2>Videodreh</h2>";
   require_once("./photo-gallery.php");
   createGallery ("./videodreh.csv");
   }

elseif ($_REQUEST['Galerie'] == 'Signinsession')

   {
   echo"<h2>Signinsession</h2>";
   require_once("./photo-gallery.php");
   createGallery ("./sign.csv");   

   }
   
   else { echo"Ein Fehler ist aufgetreten"; }
}
?>
Saga
 
Beiträge: 4
Registriert: Di 28. Dez 2010, 01:12

Beitragvon alm am Di 28. Dez 2010, 11:17

Hallo,

was bedeutet dass es sich aufhängt? Schon mal mit einer Ausgabe nach dem createGallery-Aufruf versucht? Wie viele Bilder sind denn im CSV-File? Stimmt das Format? Das Script sollte keinen Webserver besonders lange beschäftigen. Stimmen die Pfade zu der PHP- bzw. zu den CSV-Dateien? Gibt es irgendwelche Fehlermeldungen (ggf. error reporting mal auf all setzen)?

Gruß
Alex
EvoComp.de
Beachten Sie unsere Beispiele zu JavaScript, PHP und Ajax, sowie unser PHP MySQL Tutorial
alm
 
Beiträge: 81
Registriert: Do 21. Feb 2008, 16:22
Posts

Beitragvon Saga am Di 28. Dez 2010, 12:34

Hallo Alex,

aufhängen bedeutet in diesen Fällen:
Webserver1: Die Thumbs und die Images der Galerie werden nicht geladen, nur die H2 und die Nav-Icons
Webserver2: Nachdem ich auf "OK" geklickt habe zerschießt mir das Script meinen Contentbereich (keine Hintergrundgrafik mehr, keine Outlines...) und meinen Footer (ist einfach weg), die H2 wird aber angezeigt (nur ohne umgebenden Content-div), die Seite läd und läd und läd und irgendwann hängt sich dann der Firefox auf (="Keine Rückmeldung" im Header des Browsers). Der IE läd einfach nur bis in die Unendlichkeit (nach 20min Warten hab ich's aufgegeben).

Die videodreh.csv enthält 21 Bilder, die sign.csv 9 Bilder. Die *.CSV und die photo-gallery.php befinden sich alle im gleichen Ordner wie die media.php.

Ich kann mir leider keinen Errorreport ausgeben lassen, da der Errorreport serverseitig auf off steht (laut phpinfo.php) und ich auf die beiden Webserver nur einen FTP-Zugriff habe. Webserver1 unterstützt PHP5.x und Webserver2 PHP4.x, die example-Dateien laufen auf beiden Servern, also kann es daran auch nicht liegen. Es muss irgendwas mit der Schleife zu tun haben.

Was mich halt so wundert ist, dass es auf meinem lokal emulierten Server einwandfrei funktioniert hat, von daher versteh ich es einfach nicht, dass es online nicht funktioniert.

MfG
Saga
Saga
 
Beiträge: 4
Registriert: Di 28. Dez 2010, 01:12

Beitragvon alm am Di 28. Dez 2010, 21:06

Hallo Saga,

setz mal
Code: Alles auswählen
error_reporting (E_ALL);

an den Anfang des Scripts. Vielleicht ist es dann etwas auskunftsfreudiger. Ansonsten fällt mir da leider auch nichts auf.

Gruß
Alex
EvoComp.de
Beachten Sie unsere Beispiele zu JavaScript, PHP und Ajax, sowie unser PHP MySQL Tutorial
alm
 
Beiträge: 81
Registriert: Do 21. Feb 2008, 16:22
Posts

Beitragvon Saga am Di 28. Dez 2010, 21:52

Hallo Alex,

erstmal danke wegen dem Errorreport, hat wunderbar funktioniert!

Nur mit dem Ergebnis komm ich nicht klar, denn er sagt mir, 'submit' sei undefiniert.
Große Frage: Warum?
Die Werte werden doch über das Form-Tag übergeben?!

Mir war noch aufgefallen, dass ich das action-Tag und das method-Tag aus Versehen in das select-Tag statt in das form-Tag geschrieben hatte. Hab's geändert aber der Errorreport blieb der gleiche...

MfG
Saga
Saga
 
Beiträge: 4
Registriert: Di 28. Dez 2010, 01:12

Beitragvon alm am Mi 29. Dez 2010, 17:00

Hallo,

wenn beim ersten Aufruf noch kein Formulardaten übertragen werden, kann es schon sein, dass bestimmte Werte nicht definiert sind. Solange es eine Warnung ist, ist das nicht so wild - auch wenn man die via isset verhindern kann und sollte. Wenn Du die Daten per POST überträgst, solltest Du die Daten unter $_POST[...] finden bzw. unter $_GET, wenn das Formular ohne entsprechende Angaben definiert (wie im HTML-Abschnitt aus dem ersten Post) oder bewusst GET gewählt wurde. Dass es auf Deinem lokalen System funktioniert kann daran liegen, dass "register_globals" entsprechend unterschiedlich gesetzt ist. Derartige Einstellungen sollten auf allen Systemen übereinstimmen, damit es nicht zu Problemen kommt, wenn die Scripte Online gehen. Dass das Script nicht zum Ende kommt erklärt es allerdings noch nicht.

Gruß
Alex
EvoComp.de
Beachten Sie unsere Beispiele zu JavaScript, PHP und Ajax, sowie unser PHP MySQL Tutorial
alm
 
Beiträge: 81
Registriert: Do 21. Feb 2008, 16:22
Posts

Beitragvon Saga am Mi 29. Dez 2010, 20:50

Hallo Alex,

die Warnung ist zwar jetzt durch das isset weg, aber die Daten werden immer noch nicht übergeben. (Nachdem ich durch das isset die submit-Warnung beseitigt hatte, meinte er dann, Galerie sei auch nicht definiert, also hab ich das auch noch durch ein isset weg gemacht). Ich habe sogar versucht, die Daten am Anfang der PHP in einer Session zwischenzuspeichern, aber es funktioniert dennoch nicht. Langsam verzweifel ich... :?
Kann es vielleicht doch am JavaScript liegen? (Auch wenn ich dann hier im falschen Forenbereich bin).
Und ich lade gleichzeitig noch ein anderes JS, welches einen Styleswitch der Seite steuert.

MfG
Saga

---

Edit: Liegt nicht am Styleswitch-Script, hab's mal weggelassen und es lief trotzdem nicht....

---

Edit2:
localhost - register_globals: Off - Off (hier funktionierts bestens)
Webserver1 - register_globals: Off - Off (das ist der wo die Navi der Galerie geladen wird, die Bilder aber nicht)
Webserver2 - register_globals: On - On (das ist der, der mir den Content zerschießt und gar nichts ausgibt)

---

Edit3:

BAUM - Das mir Webserver2 den Content zerschossen hat lag daran, dass ich vergessen hatte die *.CSV mit in den Ordner zu legen -.-#
Es ändert jedoch nichts an der Tatsache, dass die Nav-Icons angezeigt werden, die Bilder gezählt werden, nur keine Bilder und keine Thumbs angezeigt werden (die Bilder sind auch WIRKLICH da, ich hab's mehrfach überprüft ob ich da nicht auch zu schusselig war.....*aua*)

----

letztes Edit:

Ich hatte nicht bedacht, dass die *.jpg beim Upload in *.JPG umgewandelt wurden, was natürlich zur Folge hatte, dass die Pfadangaben in den *.CSV nicht mehr stimmten, da die Bilder dort als *.jpg drin standen...
Nun läuft alles Bestens und ich bedanke mich ganz herzlich für die schnelle Hilfe hier im Forum!
Hoffentlich kann ich mich bei Gelegenheit mal revanchieren!

MfG
Saga
Saga
 
Beiträge: 4
Registriert: Di 28. Dez 2010, 01:12


Zurück zu PHP

cron