MyBB.de Forum
Eigenes Script mit myBB verbinden - Druckversion

+- MyBB.de Forum (https://www.mybb.de/forum)
+-- Forum: Sonstiges (https://www.mybb.de/forum/forum-1.html)
+--- Forum: Programmierung (https://www.mybb.de/forum/forum-32.html)
+--- Thema: Eigenes Script mit myBB verbinden (/thread-8892.html)

Seiten: Seiten: 1 2 3


Eigenes Script mit myBB verbinden - sebastian3288 - 08.03.2008

Hallo,

ich hätte mal eine kompliziertere Frage.
Und zwar, möchte ich ein Script schreiben, über das ein User ein Formular abschickt. Die Daten davon sollen dann im Forum gepostet werden.

In welche mySQL Tabelle muss ich die Daten einspeichern, dass es nachher so aussieht, als hätte ich einen Post erstellt und was muss ich dabei noch beachten?

Vielen Dank für eure Hilfe

Stalker


RE: Eigenes Script mit myBB verbinden - StefanT - 08.03.2008

Siehe: https://www.mybb.de/forum/showthread.php?tid=20204


RE: Eigenes Script mit myBB verbinden - sebastian3288 - 09.03.2008

Vielen dank für deine Antwort Dragon.

Wo muss diese Datei dann genau liegen?
Mein Forum liegt in /forum/
Das Formular soll/muss in /joinus/ liegen.

Muss ich den Code dann folgendermaßen anpassen?
PHP-Code:
require_once "../forum/".MYBB_ROOT."inc/datahandlers/post.php"//<--
$posthandler = new PostDataHandler("insert");
$posthandler->action "thread";
$posthandler->admin_override true// Optional, ich habe es lieber drin ^^

$uid $mybb->user[uid];
$username $mybb->user[username];
$fid 0;  // Forum in das der Thread gepostet werden soll
$message $db->escape_string($_POST[message]);
$subject "Formular von ".$username;

$new_thread = array(
                
"fid" => $fid,
                
"subject" => $subject,
                
"uid" => $uid,
                
"username" => $username,
                
"message" => $message,
                
"ipaddress" => get_ip(),
        );

$posthandler->set_data($new_thread);
$validate $posthandler->validate_thread();
if (
$validate)
{
        
$tinfo $posthandler->insert_thread();
        
$tid $tinfo[tid];
        
redirect("showthread.php?tid=$tid");
}
else
{
        
error("Es ist ein Fehler w&auml;hrend der Threaderstellung aufgetreten");

PS: Das Thema soll von nicht von dem User, der das Formular abschickt erstellt werden, sondern von einem "Joinus Bot"


RE: Eigenes Script mit myBB verbinden - StefanT - 09.03.2008

Das funktioniert nur, wenn du die global.php einbindest. (Dazu gibt es diverse Themen in diesem Forum.)


RE: Eigenes Script mit myBB verbinden - sebastian3288 - 12.03.2008

Heißt das dann, dass mein Code so aussähe?

PHP-Code:
include ('../forum/global.php'); 
... und dann der Rest?

Ich habe zwar gesucht (Begriff "global.php") aber nur drei auf mich unpassende Threads gefunden.


RE: Eigenes Script mit myBB verbinden - StefanT - 12.03.2008

Eigentlich so:
PHP-Code:
chmod('../forum/');
include (
'./global.php'); 
Aber sonst richtig.


RE: Eigenes Script mit myBB verbinden - Zwoetzen - 12.03.2008

Müsste das nicht
PHP-Code:
chdir('../forum/');
include (
'./global.php'); 
heißen?


RE: Eigenes Script mit myBB verbinden - sebastian3288 - 12.03.2008

Ah, okay.

Mal ne Frage zu den Variablen.
PHP-Code:
$uid $mybb->user[uid]; // wo wird $mybb->user[uid] definiert? Und wie kann ich, wenn die Beiträge immer auf eine Person laufen sollen, die uid rausfinden? 
$username $mybb->user[username]; // reicht das, wenn ich das so ersetze: $username = "Test User"; ?
$fid 0;  // Forum in das der Thread gepostet werden soll
$message $db->escape_string($_POST[message]); // das ersetze ich dann durch meine Message? Also: $message = "Test"; ?
$subject "Formular von ".$username// dürfte mir auch klar sein ;) 



RE: Eigenes Script mit myBB verbinden - Zwoetzen - 12.03.2008

$mybb->user wird durch das Einbinden der global.php definiert und beinhaltet die Daten des derzeitig eingeloggten Users (oder des Gastes), der die Seite aufgerufen hat.

Hast du den Testuser als Benutzer im Forum registriert? Wenn ja, kannst du einfach $username und $uid mit den Daten des Testusers füllen (also z.Bsp. $uid = 15; $username = "Testuser"; ), da brauchst du eigentlich das $mybb->user nicht.
Wenn nicht, müsstest du anstelle der uid einen anderen Wert eintragen, der keinen anderen user erwischen kann (also auch nicht 0, die ist für Gäste reserviert)


Das mit $message und $subject hast du richtig erkannt: Einfach deinen Inhalt reinschreiben.


RE: Eigenes Script mit myBB verbinden - sebastian3288 - 15.03.2008

@Zwoetzen: thx für die Antwort.

Eine Frage zu $message. Verwende ich dafür den BB Code oder kann ich auch HTML Code nutzen (wär mir lieber).
Wenn ich BB Code nutzen muss, wie mach ich dann Zeilenumbrüche? \n oder einfach "Enter" drücken.

mfg
Stalker.