Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.38 veröffentlicht (30.04.24)


Benutzer, die gerade dieses Thema anschauen: 4 Gast/Gäste
Formular in Beitrag
#11
k, das war der 1. Versuch:

Zitat:<?php
define("KILL_GLOBALS", 1);
define("IN_MYBB", 1);
//define("NO_ONLINE", 1); // Wenn Seite nicht in Wer ist online-Liste auftauchen soll

require("global.php");
require_once 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 = 2; // 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");
}


add_breadcrumb("Suchanfrage");

eval("\$Suchanfrage .= \"".$templates->get("Suchanfrage")."\";"); // Hier wird das erstellte Template geladen
output_page($Suchanfrage);
?>
Zitieren
#12
Ersetze:
PHP-Code:
$new_thread = array(
"fid" => $fid,
"subject" => $subject,
"uid" => $uid,
"username" => $username,
"message" => $message,
"ipaddress" => get_ip(),
); 
durch:
PHP-Code:
$new_thread = array(
"fid" => $fid,
"subject" => $subject,
"uid" => $uid,
"username" => $username,
"message" => $message,
"ipaddress" => get_ip(),
"options" => array()
); 
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#13
Gut, die Fehlermeldung ist weg, allerdings kommt immer noch diese Forenmeldung:

Zitat:Es ist ein Fehler während der Threaderstellung aufgetreten

Was ist nun noch falsch? Habt ihr eine Idee?
Zitieren
#14
PHP-Code:
$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");

Scheint als würde der Posthandler den Thread nicht mögen, bzw die Validierung der Postdaten schlug fehl.
Bist du dir sicher ob auch alle benötigten Daten des $new_thread-Arrays vorhanden sind? Die Validierung wird die Daten auf die uid, die message und andere Werte überprüfen, wenn eines davon nicht richtig vorhanden oder definiert ist, gibts nen Fehler.

Wenn du genau wissen möchtest was fehl gelaufen ist, ersetze den error-Code im obigen Quelltext mit folgendem:
PHP-Code:
$post_errors $posthandler->get_friendly_errors();print_r($post_errors); 
sieht zwar nicht allzu schön aus, geht aber schneller :b
Zitieren
#15
Hmmm, kA, was du jetzt genau meinst, aber wenn ich den code ändere, kommt folgende Fehlermeldung:

Zitat:Array ( [0] => Die Nachricht fehlt. Bitte gib eine Nachricht ein. )

Ich habe alle Felder des Formulars ausgefüllt.
Zitieren
#16
Das hatte ich mir schon gedacht, bist du dir denn sicher ob due Variable $message auch einen Wert enthält?
Nach deinem Quelltext kann es keine Message geben, da kein Formularelement "name = 'message'" definiert wurde.

Ich verstehe aber nicht welcher Code zu welcher Datei gehört.
Wäre es möglich die Dateien aufzulisten, die du benutzt?
Denn nach deinem Formular muss die "Suchanfrage.php" den Code des Posthandler beinhalten, die Message müsstest du in diesem Fall selbst generieren.

PHP-Code:
$message $db->escape_string($_POST[message]); 
PHP-Code:
$fname $db->escape_string($_POST[Familienname]);
$vname $db->escape_string($_POST[Vorname]);
$bday $db->escape_string($_POST[Geburtstag]);
// undsoweiter
$message "Ein neuer Thread wurde erstellt.\n\nName = $vname $fname \nGeburtstag = $bday"

/edit: Der Eintrag "Geburtstag" hat gefehlt, weil ich oben bei $_POST[Geburtstage) geschrieben hatte Smile
Zitieren
#17
Jupp, funzt, haut noch nicht alles so hin (beim Geburtstag fehlt zB der Eintrag), aber ich denke (hoffe Big Grin) den Rest schaff ich alleine. Vielen vielen Dank für deine Geduld und Hilfe. Klasse Team hier.
Sorry, nächstes Problem: immer, wenn ich jetzt auf den Link für das Suchformular klicke, werde ich ins Forum zum Thread weitergeleitet. :question::question:
Zitieren