Eigene Funktion läuft nicht unter phpBB

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
Keith
Mitglied
Beiträge: 42
Registriert: 18.08.2006 17:04
Kontaktdaten:

Eigene Funktion läuft nicht unter phpBB

Beitrag 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?
-Keith
Benutzeravatar
killerbees19
Mitglied
Beiträge: 1185
Registriert: 09.05.2006 17:33
Wohnort: Wien (Österreich)
Kontaktdaten:

Beitrag von killerbees19 »

Was kommt denn für eine Fehlermeldung? Ich sehe in deinem untersten Beispiel jedenfalls nirgends den Funktionsaufruf ;-)


MfG Christian
» Real programmers don't comment. If it was hard to write, it should be hard to understand!
Benutzeravatar
Dr.Death
Moderator
Moderator
Beiträge: 17476
Registriert: 23.04.2003 08:22
Wohnort: Xanten
Kontaktdaten:

Beitrag 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
Keith
Mitglied
Beiträge: 42
Registriert: 18.08.2006 17:04
Kontaktdaten:

Beitrag 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.
-Keith
Benutzeravatar
Ivan
Mitglied
Beiträge: 267
Registriert: 28.12.2004 17:26
Wohnort: Mössingen, BW
Kontaktdaten:

Beitrag 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
Der Götterbote - Die Zeitung von The-Arena
Keith
Mitglied
Beiträge: 42
Registriert: 18.08.2006 17:04
Kontaktdaten:

Beitrag 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 ;-)
-Keith
Antworten

Zurück zu „Coding & Technik“