Seite 1 von 1

Eigene Funktion läuft nicht unter phpBB

Verfasst: 29.06.2007 13:56
von Keith
Habe mir eine Funktion geschrieben:

Code: Alles auswählen

<?php
function myTest($aElements)
{
    $cRet = "<tr><td><select name=\"test_[]\" size=\"1\" style=\"width:250px\">\n";

    for ($i=0; $i<count($aElements); $i++)
    {
        if ($iSelected == $i)		
            $cRet .="<option selected>".$aElements[$i]."</option>\n";
        else
            $cRet .="<option>".$aElements[$i]."</option>\n";
        }
    $cRet .="</select></td></tr>\n\n";
    return $cRet;
}
?>
Diese wird in eine andere Datei eingebunden mit:

Code: Alles auswählen

<?php
    for ($i=0; $i<$uebungen; $i++)
    {
        echo myTest($aTest,$i);
    }
Das ganze wurde auch wunderbar ausgeführt, solange es ausserhalb von phpBB war... habe es dann eingebunden:

Code: Alles auswählen

<?php
define('IN_PHPBB', true);

$phpbb_root_path = "./";
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);

include("inc/config.php");

//
// Set page ID for session management
//
$userdata = session_pagestart($user_ip, PAGE_LOGIN);
init_userprefs($userdata);

//
// End session management
//

include($phpbb_root_path . 'includes/page_header.'.$phpEx); 
?>

...
...
...
<?php
include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
?>
<p>
Und nun wird meine Funktion nicht mehr ausgeführt... Kann mir jemand einen Ratschlag geben?

Verfasst: 29.06.2007 14:11
von killerbees19
Was kommt denn für eine Fehlermeldung? Ich sehe in deinem untersten Beispiel jedenfalls nirgends den Funktionsaufruf ;-)


MfG Christian

Verfasst: 29.06.2007 14:43
von Dr.Death
Beachte auch, das Du bei in phpbb eingebundenen Seiten Templates verwenden solltest.

Ansonsten kann es zu "Header allready sent" Problemem kommen.

KB:74

Verfasst: 30.06.2007 09:38
von Keith
@Killerbees19
Die Funktion ruf ich folgendermassen auf:

Code: Alles auswählen

<?php 
    for ($i=0; $i<$uebungen; $i++) 
    { 
        echo myTest($aTest,$i); 
    }
?>
Fehlermeldung kommt keine... es werden alle Teile der Seite geladen, ausser die Funktion :-(

Das komische ist ja, dass es funzt, solange es nicht in phpbb drin ist... kann es sein, dass ich irgendwo an anderer Stelle irgendwo die Funktion "bekannt machen" muss, damit phpbb sie zulässt???

@Dr.Deat
Danke, werde mir deinen Link angucken, vielleicht liegt da ja der Hund begraben.

Verfasst: 30.06.2007 10:13
von Ivan
1.) Wo hast du die Funktion eingefügt? In die includes/functions.php?
2.) Warum übergibst du zwei Parameter, wenn du in der Funktion selbst nur einen definiert hast?
3.) Sehe ich in deinem Codeabschnitt überhaupt keinen Funktionsaufruf? Wo genau rufst du denn innerhalb des Codes auf?


Gruß
Ivan

Verfasst: 30.06.2007 10:20
von Keith
zu 1)
Die Funktion steht in inc/functions.php und wird in inc/config.php includet.
Die inc/config.php wird auch aufgerufen.

zu 2)
Ja, stimmt... der eine Parameter muss raus... sollte aber trotzdem so laufen.

Langsam glaub ich, den Fehler gefunden zu haben... der Link von Dr.Death könnte geholfen haben.
Kann es aber erst Morgen ausprobieren und gebe dann einen Bericht ab ;-)