You are not logged in.

  • Login

1

Tuesday, December 5th 2006, 11:09pm

Pinboard funktioniert nicht (richtig)

Ok, für viele sicherlich eine ganz einfache Aufgabe. Ich wollte auf meiner Seite ein Pinboard installieren, das ich frei und gänzlich unverändert von selfhtml.de übernommen hatte. Nun, ein ganz einfaches Script an sich, allerdings funktioniert es nicht mehr, sobald ich es include (z.B. in einem einfachen 3-Spalten-Layout). Der Code des Layouts sieht dann etwa so aus:

PHP Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
(...)
    echo "    <body>\n";
 
    echo "        <div id=\"inhalt\">\n";
    echo "            <div id=\"header\">\n";
    include "a.php";
    echo "            </div>\n";
    echo "            <div id=\"menu\">\n";
    include "b.php";
    echo "            </div>\n";
    echo "            <div id=\"main\">\n";
    include "c.php";
    echo "            </div>\n";
    echo "       </div>\n";
    echo "    </body>\n";
    echo "</html>\n";


Die Datei c.php regelt das includen via GET_array in etwa so:#

PHP Quellcode

1
2
3
4
5
if(isset($_GET['section']) AND isset($hallo[$_GET['section']])) {
        include $hallo[$_GET['section']];
    } else {
        include $hallo['main'];
    }


In einer anderen Datei, die durch die Hautpseite geladen wird sind die jeweiligen arrays für entsprechende Umleitungen vermerkt. Bis dahin alles klar, denke ich.
Das Script des Pinboards ist jetzt etwas länger. Ihr findet es unter folgender URL (jeweils zu den endgültigen Versionen herunterscrollen): http://aktuell.de.selfhtml.org/artikel/php/php-forum/
Eigentlich eine schöne Sache, finde ich, jedoch tritt die folgende Fehlermeldung auf, jedoch NUR wenn ich das Pinboard per GET_array aufrufe und im 3-Spalten-Layout inlcude:
Notice: Undefined variable: kindarray in /usr/export/.../pinboard.php on line 23
und
Notice: Undefined variable: kindarray in /usr/export/.../pinboard.php on line 30
(wobei pinboard.php hier die index.php von selfhtml ist)
Wenn ich das Pinboard solo aufrufe funktioniert's. Kann es jemand erklären?

2

Wednesday, December 6th 2006, 10:50am

Notices sind ja erstmal nur Hinweise und keine Fehler.
Funktioniert denn irgendwas nicht?

sollte es nur an den unsets liegen, so kannst du sie auch einfach ersetzen

PHP Quellcode

1
2
3
4
//unset($forumarray); // Variablen korrekt (de)initialisieren
//unset($kindarray);
$forumarray = array();
$kindarray = array();

3

Wednesday, December 6th 2006, 11:31am

Hm, ok. Nur wenn ich das tue, passiert folgendes:
Notice: Undefined offset: 0 in /usr/export/www/.../pinboard.php on line 23

Warning: array_reverse() [function.array-reverse]: The argument should be an array in /usr/export/www/.../pinboard.php on line 23

Warning: Invalid argument supplied for foreach() in /usr/export/www/.../pinboard.php on line 31


Zudem, wenn ich auf "Neuer Eintrag" klicke:

Notice: Undefined variable: bearbeitet in /usr/export/www/.../neu.php on line 12

Notice: Undefined variable: abschicken in /usr/export/www/.../neu.php on line 33

Notice: Undefined variable: name in /usr/export/www/.../neu.php on line 106
Notice: Undefined variable: email in /usr/export/www/.../neu.php on line 109
Notice: Undefined variable: betreff in /usr/export/www/.../neu.php on line 112
Notice: Undefined variable: text in /usr/export/www/.../neu.php on line 117

Warum treten die Fehler nicht auf, wenn das Board direkt aufgerufen wird? Eigentlich ändert sich doch rein gar nichts.

4

Wednesday, December 6th 2006, 4:28pm

schade, dass selfhtml keine zeilenangaben hat
Ich finde den Code auch ziemlich unübersichtlich.. globale variablen, ständiges php tags geöffne/geschließe...

Die notices sind auch alle klar, aber ich will auch nicht den ganzen code umschreiben. Das unset hat da nichts zu suchen (behaupte ich zumindest mal nach schnellem code überfliegen) und wenn es ohne unset noch mehr Fehler produziert, dann ist das auch nicht gut.

Wenn du dich noch nicht zu sehr auf den Code fixiert hast, dann such dir lieber einen neuen

5

Wednesday, December 6th 2006, 6:03pm

Die Notices erschienen mir auch nicht falsch, nur frage ich mich, warum sie nur dann auftauchen, wenn ich das fertige Board in den main-layer einbinde. Denn wie gesagt, ruft man die pinboard bzw. index.php direkt auf, verschwinden die Fehlermeldungen. Ich steig nur nicht dahinter, warum das so ist.

6

Wednesday, December 6th 2006, 7:48pm

ja, wundert mich auch. Du hast ja vermutlich in keiner der includeten Dateien ein "error_reporting(e_all)".

Dann ist er egal, ob du die dateien direkt aufrufst oder includest.

Similar threads

Social bookmarks