Seite 2 von 6
Verfasst: 20.11.2005 08:52
von snakepilsken
Das wird hier ne Diskussion die zu nix führt.
Das beste wird sein ich lass das Formular an mich senden und ich trags
von Hand dann selber ein.
Gruß
Dietmar
Verfasst: 20.11.2005 10:11
von AmShaegar
ich habe mir nun doch einmal die zeit genommen, das umzuschreiben... weitestgehend funktionierts.. ich muss nur noch die einträge in der topics_table machen... das sollte schnell fertig sein... aber in punkto sicherheit und code kann ich für nichts garantieren, weil ich nicht weiß, was da für möglichkeiten bestehen.. ich mach das einfach mal fertig, dann könnt ihrs ja testen und dann lassen wir nochmal jemanden drauf gucken der ahnung davon hat.
Verfasst: 20.11.2005 10:27
von snakepilsken
Hi ...
Das finde ich aber nett das Du das machst !!!
So sieht die php Datei aus
http://fragnesscity.fr.funpic.de/contactform.txt
Gruß
Dietmar
Verfasst: 20.11.2005 10:30
von AmShaegar
schon klar... wie gesagt bion fast fertig.. ich hoffe ihr hab noch nichts verändert un d könnt meine einfach so übernehmen.. hab nämlcih keine lust ne MoD-anleitung zu schreiben *g*
Verfasst: 20.11.2005 11:38
von snakepilsken
nein hab in sich nichts geändert
Verfasst: 20.11.2005 11:52
von AmShaegar
also ich habs fertig, allerding sehr unsicher... also so vom code her.. ich stell das mal hier rein.. hoffe es guckt mal hjemand drauf und sagt, was dringend verbessert werden muss...
http://www.terraemotus.de/contact_form.php.txt (aktualiesiert um 14:07 - 20.11.05)
Verfasst: 20.11.2005 12:54
von IPB_Flüchtling
Hallo AmShaegar,
vielen Dank für Deine Bemühung!!! Da die entscheidende Codestelle nur relativ kurz ist, hoffe ich, dass es okay ist, sie hier zu posten, damit sie einfacher auf Fehler überprüft werden kann:
Code: Alles auswählen
// Insert into tables by AmShaegar
$forum_id = '1'; // Gewünschtes Forum auswählen!!!
//$post_id = ;
$poster_id = $userdata['user_id'];
$post_time = time();
$poster_ip = $user_ip;
$post_username = $userdata['session_logged_in'] ? $userdata['username'] : $from_name;
$enable_bbcode = '0';
$enable_html = '0';
$enable_smilies = '1';
$enable_sig = '0';
//$post_edit_time = ;
//$post_edit_count = ;
//$topic_id = ;
$topic_title = $enquiry;
$topic_poster = $poster_id;
$topic_time = $post_time;
//$topic_views = ;
///$topic_replies = ;
//$topic_status = '0';
//$topic_vote = '0';
//$topic_type = '0';
$SEL = "SELECT post_id FROM ".POSTS_TABLE." ORDER BY post_id DESC LIMIT 1";
$QUE = mysql_query($SEL);
$res = mysql_fetch_object($QUE);
$post_id = $res->post_id + 1;
$topic_first_post_id = $post_id;
$topic_last_post_id = $post_id;
//$topic_moved_id = '0';
$INS_topics = "INSERT INTO ".TOPICS_TABLE." (forum_id, topic_title, topic_poster, topic_time, topic_first_post_id, topic_last_post_id) VALUES ('$forum_id', '$topic_title', '$topic_poster', '$topic_time', '$topic_first_post_id', '$topic_last_post_id')";
mysql_query($INS_topics) or die("pech3");
$SEL_t = "SELECT topic_id FROM ".TOPICS_TABLE." WHERE topic_time LIKE '$topic_time'";
$QUE_t = mysql_query($SEL_t);
$res_t = mysql_fetch_object($QUE_t);
$topic_id = $res_t->topic_id;
$INS_posts = "INSERT INTO ".POSTS_TABLE." (topic_id, forum_id, poster_id, post_time, poster_ip, post_username, enable_bbcode, enable_html, enable_smilies, enable_sig) VALUES ('$topic_id', '$forum_id', '$poster_id', '$post_time', '$poster_ip', '$post_username', '$enable_bbcode', '$enable_html', '$enable_smilies', '$enable_sig')";
mysql_query($INS_posts) or die("pech1");
$bbcode_uid = '1234567890';
$post_subject = $enquiry;
$post_text = addslashes($message);
$INS_posts_text = "INSERT INTO ".POSTS_TEXT_TABLE." (post_id, bbcode_uid, post_subject, post_text) VALUES ('$post_id', '$bbcode_uid', '$post_subject', '$post_text')";
mysql_query($INS_posts_text) or die("pech2");
Wenn es sonst niemand tut, werde ich heute Abend oder morgen all meinen Mut zusammennehmen und die Sache ausprobieren.
Wichtig: Vorher ein Backup der Datenbank anfertigen!
Jetzt wäre es halt auch mal an der Zeit, sich näher mit dem Thema SQL Injection auseinanderzusetzen...
Vielen Dank noch einmal!
LG, IPB_Flüchtling
Verfasst: 20.11.2005 13:03
von AmShaegar
achso und noch was: die ganzen meldungen sind natürlcih nicht überarbeitet, das heißt sie sind alle englcihsch und daraf bedacht, dass eine e-mail gesendetr wird. es kann also sein, dass gesagt wir "e-mail konnte nicht gesendet werden...!"
Verfasst: 20.11.2005 13:05
von snakepilsken
zunächst mal vielen Dank für die tolle Arbeit !!!
Ein Problem habe ich allerdings noch, wenn in der Messagebox die letzteZeile
nicht mit return abgeschlossen wird, dann kommt die Nachricht nicht an.
Woran könnte das liegen ?
Ich habe es mind. 10x getestet ansonsten klappt es.
Gruß
Dietmar
Verfasst: 20.11.2005 13:24
von AmShaegar
weiß leider nicht genau, was du meinst, meine beiträge kamen immer an. bis jetzt
aber ein fehler ist ncoh drinnen... die zahl der beiträge in dem forum wird nicht hochgezählt... das heit bei mir steht egal wie oft ich das formular abschicke ein thea und ein beitrag...