Seite 1 von 1
Error beim Form Mod
Verfasst: 17.10.2008 02:51
von eddiz41
Hi!
Ich bräuchte mal wieder etwas Hilfe von euch...
Ich habe mir den 'Form to post/poll/pm/email' Mod von The_1_U_Fear versucht einzubauen. Er sollte als Mailer dienen, der eben bestimmte Angaben in der Form an eine E-Mail Adresse verschickt. Das klappt soweit auch alles, denn die E-Mail mit den Angaben kommt an. Aber sobald der User auf Submit klickt, kriegt er folgende Error-Meldung...
Code: Alles auswählen
Error in posting
DEBUG MODE
INSERT INTO phpbb_posts_text (post_id, post_subject, bbcode_uid, post_text) VALUES (5, '', '', 'Your post message here Klaus Meier can contain spaces and enter's')
Line : 168
File : form_submit.php
Hat jemand eine Idee, warum die Fehlermeldung kommt? Wie gesagt, der Vorgang läuft ansonsten reibungslos und die E-Mail geht auch raus.
Die Line 168 ind der form_submit enthält übrings nur den Hinweis auf die Fehlermeldung...
Code: Alles auswählen
message_die(GENERAL_ERROR, 'Error in posting', '', __LINE__, __FILE__, $sql);
Ich bin echt ratlos...
Gruß
eddiz41
Re: Error beim Form Mod
Verfasst: 17.10.2008 06:45
von StarWolf3000
Code: Alles auswählen
Error in posting
DEBUG MODE
INSERT INTO phpbb_posts_text (post_id, post_subject, bbcode_uid, post_text) VALUES (5, '', '', 'Your post message here Klaus Meier can contain spaces and enter's')
Line : 168
File : form_submit.php
Das Problem in der Fehlermeldung ist dieser Abschnitt hier:
Code: Alles auswählen
'Your post message here Klaus Meier can contain spaces and enter's'
Der MOD ist nicht sauber programmiert worden, eigentlich müssten
' ' mit
\ maskiert werden innerhalb von Texten. Der MOD müsste normalerweise
'Your post message here Klaus Meier can contain spaces and enter\'s' in die Datenbank eintragen. Da er aber
' ' als String-Limiter einsetzt, müssen sie maskiert werden.
Verfasst: 17.10.2008 10:27
von eddiz41
Ähhhhh... ok....
Sorry, ich bin in PHP-Programmierung nicht so firm. Kann eigentlich nur Mods einbauen. Was muss ich also jetzt tun, damit die Fehlermeldung verschwindet?
Liegt das Problem hier in diesem Block der form_submit.php?
Code: Alles auswählen
// Details
$op1 = $_POST["op1"];
$op2 = $_POST["op2"];
$op3 = $_POST["op3"];
$op4 = $_POST["op4"];
$op5 = $_POST["op5"];
$op6 = $_POST["op6"];
$op7 = $_POST["op7"];
$email = $_POST["email"];
//enter the email message here, can contain spaces and <Enter> as long as it is between the " "
//anytime you want to use a variable, enter it as $op1 or whatever where you want to use it
$message ="$op1, $op2, $op3, $op4, $op5, $op6, $op7";
//Message for the post here, can contain spaces and <Enter> as long as it is between the " "
$post_message = "Your post message here
$op1 $op2 can contain spaces and enter's";
$current_time = time();
Verfasst: 17.10.2008 10:59
von Dungeonwatcher
eddiz41 hat geschrieben:Was muss ich also jetzt tun, damit die Fehlermeldung verschwindet?
Ersetze diese Zeile:
durch diese:
Verfasst: 17.10.2008 11:05
von StarWolf3000
Der MOD bietet total viele Sicherheitslücken, folgende Änderungen sollten ihn aber etwas sicherer machen.
Öffne
/form_submit.php
Suche:
Code: Alles auswählen
// Details
$op1 = $_POST["op1"];
$op2 = $_POST["op2"];
$op3 = $_POST["op3"];
$op4 = $_POST["op4"];
$op5 = $_POST["op5"];
$op6 = $_POST["op6"];
$email = $_POST["email"];
Ersetze durch:
Code: Alles auswählen
// Details
$op1 = htmlspecialchars(addslashes($HTTP_POST_VARS["op1"]));
$op2 = htmlspecialchars(addslashes($HTTP_POST_VARS["op2"]));
$op3 = htmlspecialchars(addslashes($HTTP_POST_VARS["op3"]));
$op4 = htmlspecialchars(addslashes($HTTP_POST_VARS["op4"]));
$op5 = htmlspecialchars(addslashes($HTTP_POST_VARS["op5"]));
$op6 = htmlspecialchars(addslashes($HTTP_POST_VARS["op6"]));
$email = htmlspecialchars(addslashes($HTTP_POST_VARS["email"]));
Verfasst: 17.10.2008 21:22
von eddiz41
Hat geklappt!
Vielen, vielen Dank nochmal für deine Hilfe!
LG
(und closed)