Post von extern erstellen

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.
Hyperion
Mitglied
Beiträge: 13
Registriert: 02.09.2009 07:47

Re: Post von extern erstellen

Beitrag von Hyperion »

Sehr gute Hinweise, Danke! :-)
Hyperion
Mitglied
Beiträge: 13
Registriert: 02.09.2009 07:47

Re: Post von extern erstellen

Beitrag von Hyperion »

-edit- Sorry, ist natürlich absoluter müll, die funktion obtain_config() wird ja erst nachher aufgerufen, da ist wohl was mit dem DB Object erstellen nich ok o.O




--------------------------------------------------------------------
Frank1604 hat geschrieben:So langsam glaub ich , ich kann dir gleich das ganze script schreiben, nen bisi mal selbst suchen wäre auch net schlecht ;)

Code: Alles auswählen

include($phpbb_root_path . 'common.' . $phpEx);
include($phpbb_root_path . 'includes/functions_posting.' . $phpEx);
include($phpbb_root_path . 'includes/message_parser.' . $phpEx); 

Also hier schleicht sich noch folgender Fehler ein:

Code: Alles auswählen

Fatal error: Call to a member function sql_query() on a non-object in /home/www/web421/html/Delirium/forum1/includes/cache.php on line 51
Wenn ich dann nachschaue komme ich auf folgendes:

In der common.php wird die cache.php eingebunden. In der cache.php wird bereits eine DB Abfrage gemacht, jedoch wird das db Objekt erst später in der common.php erstellt. Also macht der Fehler durchaus Sinn da ja noch kein DB Objekt besteht.

Wie kanni ich das umschiffen? Selber vorher ein DB Objekt erstellen? Oder hab ich einfach noch eine Datei vergessen zu includen? (Habs genau so wie im Quote oben)
Benutzeravatar
Frank1604
Ehemaliges Teammitglied
Beiträge: 2106
Registriert: 07.11.2007 09:25
Wohnort: Einhausen
Kontaktdaten:

Re: Post von extern erstellen

Beitrag von Frank1604 »

Keine Ahnung was du da vorher / nachher im Code veranstaltest. folgendes ist getestet und korrekt:

Code: Alles auswählen

define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);

include($phpbb_root_path . 'common.' . $phpEx);
include($phpbb_root_path . 'includes/functions_posting.' . $phpEx);
include($phpbb_root_path . 'includes/message_parser.' . $phpEx);


// start session management
$user->session_begin();
$auth->acl($user->data); 
Gruß, Frank
Meine Meinung steht fest. Bitte verwirrt mich nicht mit Tatsachen!
Hyperion
Mitglied
Beiträge: 13
Registriert: 02.09.2009 07:47

Re: Post von extern erstellen

Beitrag von Hyperion »

Frank1604 hat geschrieben:Keine Ahnung was du da vorher / nachher im Code veranstaltest. folgendes ist getestet und korrekt:

Code: Alles auswählen

define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);

include($phpbb_root_path . 'common.' . $phpEx);
include($phpbb_root_path . 'includes/functions_posting.' . $phpEx);
include($phpbb_root_path . 'includes/message_parser.' . $phpEx);


// start session management
$user->session_begin();
$auth->acl($user->data); 

Naja so siehts bei mir aus:

Code: Alles auswählen

//Variabeln vorbereiten
$phpbb_vars = $this->getPhpbb2Vars();
           
define('IN_PHPBB', true);
$phpEx = 'php';
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : JPATH_SITE . DS . $phpbb_vars['recruit_phpbb_relpath'] . DS;
              
//Phpbb3 Framework einbinden
include($phpbb_root_path . 'common.' . $phpEx);
include($phpbb_root_path . 'includes/functions_posting.' . $phpEx);
include($phpbb_root_path . 'includes/message_parser.' . $phpEx);  
und ich krieg den oben beschriebenen Fehler.....

ich hab sogar ein var_dump($db) mal eingefügt in der common.php:

Code: Alles auswählen

// Instantiate some basic classes
$user        = new user();
$auth        = new auth();
$template    = new template();
$cache        = new cache();
$db            = new $sql_db();

// Connect to DB
$db->sql_connect($dbhost, $dbuser, $dbpasswd, $dbname, $dbport, false, defined('PHPBB_DB_NEW_LINK') ? PHPBB_DB_NEW_LINK : false);

var_dump($db);

// We do not need this any longer, unset for safety purposes
unset($dbpasswd);

// Grab global variables, re-cache if necessary
$config = $cache->obtain_config();
 
Da scheint das Object vorhanden zu sein.
Benutzeravatar
Frank1604
Ehemaliges Teammitglied
Beiträge: 2106
Registriert: 07.11.2007 09:25
Wohnort: Einhausen
Kontaktdaten:

Re: Post von extern erstellen

Beitrag von Frank1604 »

Code: Alles auswählen

//Variabeln vorbereiten
$phpbb_vars = $this->getPhpbb2Vars(); 
wassn das? Auf was soll sich denn "$this" beziehen? Die Zeile verursacht deinen Fehler!
Gruß, Frank
Meine Meinung steht fest. Bitte verwirrt mich nicht mit Tatsachen!
Hyperion
Mitglied
Beiträge: 13
Registriert: 02.09.2009 07:47

Re: Post von extern erstellen

Beitrag von Hyperion »

Frank1604 hat geschrieben:

Code: Alles auswählen

//Variabeln vorbereiten
$phpbb_vars = $this->getPhpbb2Vars(); 
wassn das? Auf was soll sich denn "$this" beziehen? Die Zeile verursacht deinen Fehler!

Nein nich wirklich o.O das $this bezieht sich auf die Klasse wo das Script drin steht, die hat eine so lautende funktion.


Wenn die Funktion nich gehen würde, hätte das Script den PhpRootPath gar nicht, und könnte dementsprechend auch die Files nicht includen, also das geht, an dem ligts 100% nich (sonst würde er auch gar nicht soweit kommen...).
Benutzeravatar
Frank1604
Ehemaliges Teammitglied
Beiträge: 2106
Registriert: 07.11.2007 09:25
Wohnort: Einhausen
Kontaktdaten:

Re: Post von extern erstellen

Beitrag von Frank1604 »

Ja moment.. wo steht denn das script nun wieder drin? Das Ding soll doch nen Stand-Alone sein! Nicht irgendwo includen oder ähnliches, da kollidieren nur die Klassen miteinander!
Gruß, Frank
Meine Meinung steht fest. Bitte verwirrt mich nicht mit Tatsachen!
Hyperion
Mitglied
Beiträge: 13
Registriert: 02.09.2009 07:47

Re: Post von extern erstellen

Beitrag von Hyperion »

Frank1604 hat geschrieben:Ja moment.. wo steht denn das script nun wieder drin? Das Ding soll doch nen Stand-Alone sein! Nicht irgendwo includen oder ähnliches, da kollidieren nur die Klassen miteinander!

Das ist ne Joomla Komponente die ich geschrieben habe. Kann es sein, dass es dann mit Joomla Frameworkvariabeln kolidiert?

Mit Standalone wollte ich ausdrücken, dass das Script nicht innerhalb vom Phpbb3 steht.


Dann muss ich wohl doch manuell per sql Script die Threads machen :-/
Benutzeravatar
Frank1604
Ehemaliges Teammitglied
Beiträge: 2106
Registriert: 07.11.2007 09:25
Wohnort: Einhausen
Kontaktdaten:

Re: Post von extern erstellen

Beitrag von Frank1604 »

Ja, ich denke das kollidiert miteinander. Deshalb las das doch als alleinstehendes Script!

Erstelle die Datei mit dem Script, und lege sie im php Verzeichnis ab. Die Datei kannst du aufrufen, und via POST Daten die Nachricht, Titel usw. übergeben. Den Rest macht das Script alleine. Das sollte sogar über Ajax gehen.
Gruß, Frank
Meine Meinung steht fest. Bitte verwirrt mich nicht mit Tatsachen!
Antworten

Zurück zu „Coding & Technik“