+ Antworten
Ergebnis 1 bis 6 von 6

Thema: Quelltext erzeugt ab best.Größe eine leere Seite..?

  1. #1
    xon
    xon ist offline
    Verbringt hier viel Zeit Avatar von xon
    Registriert seit
    09.07.2006
    Beiträge
    720
    Bedankte sich
    27
    Erhielt 125 Danksagungen
    in 116 Beiträgen

    Standard Quelltext erzeugt ab best.Größe eine leere Seite..?

    ..jedenfalls wirkt es so auf mich.
    Das Problem stellt sich folgendermaßen dar:

    Ich lese in der helper.php die Daten aus der DB
    $database =& JFactory::getDBO();
    $query = "SELECT itemid,title FROM #__sobi2_item"
    ."\n WHERE approved='1' AND published = '1'"
    ."\n ORDER BY title ASC";
    $database->setQuery($query);
    $rows = $database->loadObjectList();

    $i = 0;
    $lists = array();
    $name = array();
    foreach ( $rows as $row )
    {
    $lists[$i]->title = $rows[$i]->title;
    $name = explode(" ", $lists[$i]->title);
    krsort($name);
    $name[count($name)-1] = $name[count($name)-1].", ";
    $name_string = implode(' ', $name);
    $lists[$i]->title = $name_string;
    $lists[$i]->itemid = $rows[$i]->itemid;
    $i++;
    }
    sort($lists);


    return $lists;


    }
    sortiere sie ein wenig und übergebe sie an die default.php.
    Soweit so prima.

    In der default.php wird der Satz mit foreach ausgegeben,- nix großes also.
    Das Modul soll ca. 300 Usernamen auslesen und zeigte ursprünglich ab dem 41. Usernamen die komplette Webseite nicht mehr an (Leere Seite).

    Ich habe dann die default.php modifiziert / ein paar unnötige Zeilen entfernt, den Listen-Tag gegen BR ausgetauscht, Grafikaufrufe (.gif-images) rausgenommen, etc, etc.. Plötzlich wurden 42 User angezeigt.

    Wenn ich jetzt 43 User anzeigen will, erhalte ich wieder die leere Seite.
    Ich vermute nun, dass ich - wenn ich noch mehr Quelltext reduziere - auch irgendwann noch den 44. User angezeigt bekomme. Das kann ich leider nicht sinnvoll testen, weil sich fast nur noch die foreach-Zeile in der default.php befindet.

    Es scheint ein Problem mit der Menge an Daten zu sein, welches den Joomla Core überfordert oder einer Einschränkung (falsche Klasse verwendet?) zum Opfer fällt und die weitere Verarbeitung abbrechen lässt.

    Selbst wenn ich mit dieser Vermutung richtig liege, stellt sich mir die Frage:
    Welche Beschränkung greift da ?
    Und: Wie kann ich diese Beschränkung API-gerecht umgehen..?

    Bin für alle Vorschläge dankbar.

    Gruß,
    XOn

  2. #2
    OpenSource Nutzer Avatar von blackice2999
    Registriert seit
    18.05.2006
    Ort
    Berlin
    Alter
    32
    Beiträge
    3.639
    Bedankte sich
    112
    Erhielt 935 Danksagungen
    in 711 Beiträgen

    Standard

    Hi,

    ich habe jetzt nicht genau verstanden was Du machst. Aber prinzipiell gibt es da keine Einschränkungen das Script ist fertig wenn es fertig ist (ok die max execution time für php scripte gibt es auch noch, die liegt aber meistens bei 1-2 Minuten...)

    Ich tippe eher auf einen Fehler innerhalb deiner Sortierung. Vielleicht solltest du dir die einzelnen Variablen mal mit

    Code:
    echo '<pre>'.print_r($VARIABLE).'</pre>';
    ausgeben lassen uns mal schauen wo der Fehler liegen könnte...
    Beschreibe doch einfach mal was Du genau machen möchtest.

    Gruß Dennis
    Thread gelöst ? => Anleitung
    Wichtige Themen => Joomla FAQ | Flottes Sicherheitsliste
    Einfach nur so => Geiz ist doch geil oder?
    *dies ist ein Joomla Forum - Kein css / html Anfänger Forum...*

  3. #3
    Wohnt hier
    Registriert seit
    01.05.2007
    Ort
    Lingen
    Beiträge
    2.576
    Bedankte sich
    6
    Erhielt 837 Danksagungen
    in 793 Beiträgen

    Standard

    Hast du error_reporting vielleicht ausgeschaltet? Wenn ja schalte es mal an. Da es auf die Menge an Daten ankommt könnte ich mir vorstellen das du die zugewiesene Arbeitsspeichergrösse von PHP überschreitest.
    Meine Antwort war hilfreich? Dann würde ich mich über einen Click auf Danke sehr freuen
    Kein kostenloser Support per PN

  4. #4
    xon
    xon ist offline
    Verbringt hier viel Zeit Avatar von xon
    Registriert seit
    09.07.2006
    Beiträge
    720
    Bedankte sich
    27
    Erhielt 125 Danksagungen
    in 116 Beiträgen

    Standard

    @blackice: Die Ausgabe ist - wenn sie stattfindet - perfekt.
    Die Variablen werden sauber ausgelesen und weiterverarbeitet.

    @Derroylo: Das war mein allererster Gedanke,- konnte aber durch keinerlei htaccess / php.ini einträge verhindert werden.
    Error Reporting habe ich im Backend im Modul in der htaccess und in der php.ini angeschaltet.
    Es kam immer nur die leere Seite - ohne Fehlermeldung.

    So, jetzt kommt aber schon die Auflösung:
    der folgende Tag hat am Ende des Links gefehlt, der in der default.php ausgegeben wurde.

    Code:
    \n
    Zur Ergänzung hier doch noch die default.php:
    foreach ( $lists as $item )
    {
    $link = "<a href=\"index.php?option=com_sobi2&sobi2Task=sobi2D etails&sobi2Id=".$item->itemid."&catid=0\"\>".$item->title."</a>\n"; //<- dieser Tag fehlte

    echo "<li style=\"margin-left:-15px;\">$link</li>";

    }
    Ich kenne die Bedeutung des o.g. Tags nicht (mehr), habe aber völlig frustriert angefangen den Quelltext zu optimieren und regelkonfrom zu strukturieren.
    Da dieses Tag in jedem professionellem Quelltext auftaucht, habe ich es der Form halber eingefügt.
    Plötzlich funktioniert es.

    Ist das für irgendjemanden logisch ?
    Kann mir das jemand kommentieren..?

    Gruß,
    XOn

  5. #5
    Wohnt hier
    Registriert seit
    01.05.2007
    Ort
    Lingen
    Beiträge
    2.576
    Bedankte sich
    6
    Erhielt 837 Danksagungen
    in 793 Beiträgen

    Standard

    \n steht einfach für eine neue Zeile im Quelltext(also wenn du Enter drückst in nem Text-Editor) aber ansonsten kann ich mir keinen Reim darauf machen wieso es damit jetzt gehen sollte, denke du hast noch was anderes mit geändert wodurch es jetzt funktioniert.
    Meine Antwort war hilfreich? Dann würde ich mich über einen Click auf Danke sehr freuen
    Kein kostenloser Support per PN

  6. #6
    xon
    xon ist offline
    Verbringt hier viel Zeit Avatar von xon
    Registriert seit
    09.07.2006
    Beiträge
    720
    Bedankte sich
    27
    Erhielt 125 Danksagungen
    in 116 Beiträgen

    Standard

    Habe ich auch gedacht,- aber das Phänomen lässt sich mit einfügen des Tags abstellen und mit herausnehmen des Tags taucht das Phänomen wieder auf.

    Das es "newline" heisst, hatte ich dumpf in Erinnerung, - war mir aber plötzlich nicht mehr sicher.
    Hat es möglicherweise noch eine andere funktionelle Bedeutung - Hängt evtl. ein Sicherheitsrisiko daran, wenn es vergessen wird oder könnte es sein, dass Joomla anders Buffert, wenn das Tag fehlt und "überläuft", ..?
    Fragen über Fragen...

    Gruß,
    XOn

+ Antworten

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein