Computerhilfen.de Logo
Forum
Tipps
News
Frage stellen

PHP - Seite bleibt weiß.

Hallo,

ich habe ein sehr komisches Problem und hoffe, mir kann jemand helfen.

Ich habe ein Script, in dem folgende If Bedingung vorkommt:

if      ($tag  != "")
      {      
      $zeitanfang = strtotime($datum) ;
      $zeitende = strtotime($enddatum) ;
      
      $abfrage = "Select * FROM dc_2009_06_17_9b3cb5b14a714787a8";
      $ergebnis = mysql_query($abfrage) ;
      
      }
else
      {
      //Datenbankabfrage, wenn kein Tag ausgewählt wurde
      $abfrage = "SELECT * FROM dc_2009_06_17_9b3cb5b14a714787a8";
      $ergebnis = mysql_query($abfrage);

      // Schleife über alle Datenbanktreffer
         while ($row = mysql_fetch_array($ergebnis)) {

            // Befüllen der Platzhalter im Block kueche
            $tplkueche->__set('Datum', $row["fuer_Datum"]);
            $tplkueche->__set('Menueauswahl', $row["Menueauswahl"]);
            $tplkueche->__set('Bemerkung', $row["Bemerkung"]);
            $tplkueche->__set('Name', $row["Anmeldung_Name"]);
            $tplkueche->__set('Station', $row["Einrtg_Abtlg_Station"]);

            // Die gefüllte Zeile in das Template schreiben
            $tpl->__set('kueche', $tplkueche);

            // Die gefüllte Zeile zurücksetzen
            $tplkueche->reset();

      }
   }



So wie sie da oben nun steht, funktioniert das ganze auch problem los. Sobald ich aber eine while schleife an das Ende des 1. teils der If Bedingung mache, also direkt vor }else, bleibt meine Seite nur noch weiß. Error reporting ist an.
Das seltsame: Ich habe die while-Schleife probeweise mal aus dem else Bereich kopiert - es kommt trotzdem nur weiß. Dies ist also nun der geänderte Code, bei dem der Fehler auftritt:

if      ($tag  != "")
      {      
      $zeitanfang = strtotime($datum) ;
      $zeitende = strtotime($enddatum) ;
      
      $abfrage = "Select * FROM dc_2009_06_17_9b3cb5b14a714787a8";
      $ergebnis = mysql_query($abfrage) ;
      
      while ($row = mysql_fetch_array($ergebnis)) {

            // Befüllen der Platzhalter im Block kueche
            $tplkueche->__set('Datum', $row["fuer_Datum"]);
            $tplkueche->__set('Menueauswahl', $row["Menueauswahl"]);
            $tplkueche->__set('Bemerkung', $row["Bemerkung"]);
            $tplkueche->__set('Name', $row["Anmeldung_Name"]);
            $tplkueche->__set('Station', $row["Einrtg_Abtlg_Station"]);

            // Die gefüllte Zeile in das Template schreiben
            $tpl->__set('kueche', $tplkueche);

            // Die gefüllte Zeile zurücksetzen
            $tplkueche->reset();
      }
else
      {
      //Datenbankabfrage, wenn kein Tag ausgewählt wurde
      $abfrage = "SELECT * FROM dc_2009_06_17_9b3cb5b14a714787a8";
      $ergebnis = mysql_query($abfrage);

      // Schleife über alle Datenbanktreffer
         while ($row = mysql_fetch_array($ergebnis)) {

            // Befüllen der Platzhalter im Block kueche
            $tplkueche->__set('Datum', $row["fuer_Datum"]);
            $tplkueche->__set('Menueauswahl', $row["Menueauswahl"]);
            $tplkueche->__set('Bemerkung', $row["Bemerkung"]);
            $tplkueche->__set('Name', $row["Anmeldung_Name"]);
            $tplkueche->__set('Station', $row["Einrtg_Abtlg_Station"]);

            // Die gefüllte Zeile in das Template schreiben
            $tpl->__set('kueche', $tplkueche);

            // Die gefüllte Zeile zurücksetzen
            $tplkueche->reset();

      }
   }

Ich hoffe, mir kann jemand helfe....ich bin am verzweifeln :(


Antworten zu PHP - Seite bleibt weiß.:

Hi,
schließ mal die erste while-Schleife wieder mit ner geschweiften Klammer.  ;)   

Hey

danke für den Tipp - hat aber keine Veränderung gebracht :(

Gruß
 

ich finde erstmal so keinen weiteren Fehler, läuft auch bei mir problemlos im Test durch.

Könntest Du in der Konfiguration mal bitte nochmal nachschauen, ob bei Dir Errors und Warnungen angezeigt werden?

und diese Zeile in der ersten while-Schleife

$ergebnis = mysql_query($abfrage) ;
so abändern:

$ergebnis = mysql_query($abfrage) or die(mysql_error());
möglicherweise schlägt die Datenbankabfrage fehl?

Hey,

mein Fehler - hatte vergessen, den Apache neuzustarten, daher hat er Error_reporting nicht übernommen...

Habe den Fehler nun gefunden.

Er hat mir einen unexpected "else" fehler ausgespuckt.

Anscheinend hat er -anstatt die while schleife in der if bedingung zu schließen, die if bedingung geschlossen - weshalb es dann den else Fehler gab. Habe das ganze nun also erstmal mit 2 If Bedingugnen gelöst-aber eigentlich muss man dieses Problem doch irgendwie umgehen können, oder?

wenn Du die while-Schleife schließt, wie ich schon im ersten Posting geschrieben hatte, läuft diese anstandslos - auch mit while.
sonst wird der Rest innerhalb von while ausgeführt und es kommt zum Fehler.
Deshalb auch mein Verdacht, dass Error_reporting abgeschaltet war. ;)

*HIT ME*!!

Sorry...läuft jetzt alles, auch mit else...danke dir ;)

Schön :) hatte schon an mir gezweifelt... ;D
Danke für die Rückmeldung.


« CSS wird im FF überhaupt nicht dargestellt, aber in IE sehr gutProbleme mit der Domain »
 

Schnelle Hilfe: Hier nach ähnlichen Fragen und passenden Tipps suchen!

Fremdwörter? Erklärungen im Lexikon!
AppleScript
AppleScript ist eine Programmiersprache von Apple für Skripte und Programme auf Systemebene. Im Gegensatz zu den Unix-Shellscripts, die seit OS X ebenfalls mögl...

Javascript
JavaScript ist eine weit verbreitete Skriptsprache, die ursprünglich von Netscape für das DOM-Scripting für Webseiten entwickelt wurde. Sie hat sich seitde...

PostScript
PostScript ist eine Programmiersprache zur Beschreibung von grafischen Objekten und Schriftzeichen zur Übertragung vom Computer zum Drucker oder Laserbelichter. Gene...