07.06.2012, 22:28
Hi
ich habe ein PHP-Script geschrieben, welches die Inhalte eines Formulars direkt in ein internes Forum postet. Funktioniert auch fast ohne Probleme. Aber eben nur fast.
Fehler 1:
Wenn ich das Formular über die HTML-Datei aufruf, wird ein Thread erstellt. Trage ich meine Daten aber über die .php-Datei ein, werden zwei Thread erstellt. Einer wird richtig dargestellt, im anderen sind die Variablen einfach weggelassen und es wird nur das Grundgerüst des Beitrags aus der PHP-Datei gepostet.
Fehler 2:
Wenn im Gerüst, wie in der unten gezeigten PHP-Datei, ein Umlaut (ä, ö, ü) vorkommt, wird das dahinter einfach weggelassen und nicht gepostet. Ich weiß nicht, woran das liegt. Ich habe im HTML-Formular die Codierung auch schon auf UTF-8 gestellt, klappt aber immer noch nicht.
Fehler 3:
Unter dem Formular wird eine "1" angezeigt, von der ich nicht weiß, woher sie kommt
Dies tritt auch nur auf, wenn ich das Formular über die PHP Datei aufruf. Auf der .html ist keine 1 zu sehen.
Hier meine bewerbung.php-Datei
Und hier meine formular.html-Datei
Ich hoffe, ihr könnt mir helfen.
ich habe ein PHP-Script geschrieben, welches die Inhalte eines Formulars direkt in ein internes Forum postet. Funktioniert auch fast ohne Probleme. Aber eben nur fast.
Fehler 1:
Wenn ich das Formular über die HTML-Datei aufruf, wird ein Thread erstellt. Trage ich meine Daten aber über die .php-Datei ein, werden zwei Thread erstellt. Einer wird richtig dargestellt, im anderen sind die Variablen einfach weggelassen und es wird nur das Grundgerüst des Beitrags aus der PHP-Datei gepostet.
Fehler 2:
Wenn im Gerüst, wie in der unten gezeigten PHP-Datei, ein Umlaut (ä, ö, ü) vorkommt, wird das dahinter einfach weggelassen und nicht gepostet. Ich weiß nicht, woran das liegt. Ich habe im HTML-Formular die Codierung auch schon auf UTF-8 gestellt, klappt aber immer noch nicht.
Fehler 3:
Unter dem Formular wird eine "1" angezeigt, von der ich nicht weiß, woher sie kommt

Dies tritt auch nur auf, wenn ich das Formular über die PHP Datei aufruf. Auf der .html ist keine 1 zu sehen.
Hier meine bewerbung.php-Datei
PHP-Code:
<?php
// Formular anzeigen
echo include_once('formular.html');
define("KILL_GLOBALS", 1);
define("IN_MYBB", 1);
define("NO_ONLINE", 1); // Seite erscheint nicht auf Wer ist online
require("../global.php");
require_once MYBB_ROOT."inc/datahandlers/post.php";
$posthandler = new PostDataHandler("insert");
$posthandler->action = "thread";
$posthandler->admin_override = true;
$uid = 2;
$username = 'James';
$fid = 9; // Forum in das der Thread gepostet werden soll
$message = 'Folgende Bewerbung ging am '.date("d.m.Y").' um '.date("H:i").' Uhr bei uns ein:
[b]Nick:[/b]
'.$_POST[nick].'
[b]Name:[/b]
'.$_POST[name].'
[b]Teams:[/b]
'.$_POST[teams].'
[b]Warum möchte der User ins Team?[/b]
'.$_POST[bewerbungsgrund].'
[b]Was erwartet der User von uns?[/b]
'.$_POST[erwartungen].'
[b]Hat der User schon Eventerfahrung sammeln können?[/b]
'.$_POST[erfahrungen].'
[b]Ausarbeitung fuer das Dauerevent des Users:[/b]
'.$_POST[ausarbeitung].'
[color=#FF0000][b]Bitte nutzt diesen Thread dazu, um über die Bewerbung zu diskutieren, sodass wir moeglichst schnell zu einem Ergebnis kommen.[/b][/color]
James';
$subject = "Bewerbung von ".$_POST[nick];
$new_thread = array(
"fid" => $fid,
"subject" => $subject,
"uid" => $uid,
"username" => $username,
"message" => $message,
"ipaddress" => get_ip(),
"options" => array()
);
$posthandler->set_data($new_thread);
$validate = $posthandler->validate_thread();
if ($validate) {
$tinfo = $posthandler->insert_thread();
$tid = $tinfo[tid];
} else {
error("Während der Verarbeitung der Daten ist ein unbekannter Fehler aufgetreten.");
}
?>
Und hier meine formular.html-Datei
PHP-Code:
<form action="bewerbung.php?action=do_add" accept-charset="utf-8" method="post">
<table style="text-align: left; width: 548px; height: 681px;"
border="0" cellpadding="2" cellspacing="2">
<tbody>
<tr>
<td>Nick</td>
<td><input maxlength="26" name="nick"></td>
</tr>
<tr>
<td>Name</td>
<td><input name="name"></td>
</tr>
<tr>
<td>Teams (getrennt durch Komma):</td>
<td><input name="teams"></td>
</tr>
<tr>
<td>Warum möchte ich ins Team?</td>
<td><textarea cols="25" rows="10"
name="bewerbungsgrund"></textarea></td>
</tr>
<tr>
<td>Was erwarte ich vom Team?</td>
<td><textarea cols="25" rows="10"
name="erwartungen"></textarea></td>
</tr>
<tr>
<td>Hast
du schonmal Erfahrungen im Bereich <br>
Events gesammelt? Wenn ja, wo?</td>
<td><textarea cols="25" rows="4"
name="erfahrungen"></textarea></td>
</tr>
<tr>
<td></td>
<td></td>
</tr>
<tr>
<td>Zusatzaufgabe (Ausarbeitung einer Aufgabe für
das Dauerevent):</td>
<td><textarea cols="25" rows="10"
name="ausarbeitung"></textarea></td>
</tr>
<tr>
<td></td>
<td></td>
</tr>
<tr>
<td style="text-align: right;"><input
value="Absenden" name="submit" type="submit"></td>
<td><input name="reset" value="Zurücksetzen"
type="reset"></td>
</tr>
</tbody>
</table>
</form>
Ich hoffe, ihr könnt mir helfen.