| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer User Registriert seit: Jan 2009
Beiträge: 35
| Forum um ein Feld erweitern
Hallo bin schlich weg am verzweifeln. Ich möchte ein Forum Program um ein Feld "Betreff" erweitern. Die Beiträge sollen in eine Textdatei geschrieben werden. Wenn kein Betreff angegeben wird soll die Zeile auch nicht in der Textdatei erscheinen. Habe schon etwas hingebastellt, nur leider wird der Beitrag nicht angezeigt wenn ich z.b "Betreff" leer lasse. Kann mir bitte jemand helfen? Hänge meinen Code mal mit an. Danke!!! <?php $beitraege = array(); beitrag_schreiben(); beitraege_einlesen(); function beitrag_schreiben($datei = "beitraege.txt") { if (!empty($_REQUEST['text'])) if (!empty($_REQUEST['betreff'])) { $dh = fopen($datei, "a"); if (!$dh) { print "Kann Datei nicht erstellen!\n"; } else { fputs($dh, $_REQUEST['betreff']."\n"); fputs($dh, $_REQUEST['text']."\n"); if (!empty($_REQUEST['autor'])) { fputs ($dh, $_REQUEST['autor']."\n"); } else { fputs ($dh, "unbekannt\n"); } fclose ($dh); } } } function beitraege_einlesen($datei = "beitraege.txt") { global $beitraege; $dh = fopen($datei, "r"); if(!$dh) { print "Kann Datei \"$datei\" nicht öffnen!\n"; } else { for ($i = 0; !feof($dh); $i++) { $zeile = fgets($dh); if ($zeile != "") { $beitraege[$i]['betreff'] = $zeile; $beitraege[$i]['text'] = $zeile; $beitraege[$i]['autor'] = fgets($dh); } } fclose($dh); } } $text_ohne_nl = trim (str_replace("\n", "", $_REQUEST['betreff'])); $text_ohne_nl = trim (str_replace("\n", "", $_REQUEST['text'])); $text_ohne_nl = trim (str_replace("\n", "", $_REQUEST['autor'])); function beitrag_ausgeben($beitrag) { print "Betreff: ".$beitrag['betreff']."\n"; print "<br>"; print "Eintrag: ".$beitrag['text']."\n"; print "<br>"; print "Autor: ".$beitrag['autor']."\n"; } function formular_ausgeben() { ?> <form method="POST" action="<?php print $_SERVER['PHP_SELF'] ?>"> <b>Betreff: </b><strong><input name="betreff" type="text" /></strong> <br /> <b>Text: </b><textarea name="text" cols="50" rows="10" style="overflow:hidden" ></textarea> <br /> <b>Autor: </b><input type="text" name="autor"> <br /> <input type="submit" value="absenden"> </form> <?php } ?> ----------------------------------------------------------------------- <?php require_once ("forumsfunktionen5.php"); ?> <html> <head><title>Forum</title></head> <body> <h1>Willkommen beim Forum</h1> <?php formular_ausgeben() ?> <hr /> <?php for ($i = count($beitraege)-1; $i >= 0; $i--) { beitrag_ausgeben($beitraege[$i]); print "<hr>\n"; } ?> </body> </html> |
| | |
| | #2 (permalink) |
| Inventar Registriert seit: Jul 2002
Beiträge: 6.882
|
Ein ziemliches Chaos wenn ich das mal so sagen darf ( wird natürlich durch die unformatierte Darstellung hier im Forum noch unterstützt ). Daher erst mal die Frage ob du gewillt bist es richtig und sauber zu machen ( was dementsprechend noch etwas Arbeit erfordert ). Werde dir auch helfen.
__________________ (\__/) (='.'=) (")_(") |
| | |
| | #4 (permalink) |
| Inventar Registriert seit: Jul 2002
Beiträge: 6.882
|
Also, erst mal vorneweg, wenn du PHP-Code in diesem Forum postest, solltest du ihn zwischen [php ]Dein Code[/php ] - Tags klemmen damit er genausoschön formatiert dargestellt wird wie in deinem Editor. Zu deinem Code: - Schön wäre es wenn du aus deiner normalen Textdatei eine XML-Datei machst. Ist zwar schwieriger, aber danach besser erweiterbar. PHP hat hierfür bereits eine Bibliothek mit vielen Funktionen: http://php.net/manual/de/book.simplexml.php - Du schickst dein Formular per POST ab, empfängst die Daten aber per $_REQUEST anstelle von $_POST. Hier kein grosser Fehler, anderswo aber eine potentielle Sicherheitslücke. Versuchs mal mit der XML und ich bin mir sicher dass sich dabei dein Problm von selbst lösen wird
__________________ (\__/) (='.'=) (")_(") |
| | |
| | #8 (permalink) |
| Inventar Registriert seit: Jul 2002
Beiträge: 6.882
|
Sooo, nach etwas Arbeit hab ichs nun auch. PHP-Code:
__________________ (\__/) (='.'=) (")_(") |
| | |
| | #10 (permalink) |
| Inventar Registriert seit: Jul 2002
Beiträge: 6.882
|
Je nach Anwendung kannst du dein textarea mittels JS in ein"htmlarea" umwandeln. htmlArea - Turn any TEXTAREA into a WYSIWYG editor - CodeProject Damit gibst du deinen Nutzern die möglichkeit ihren Text noch zu formatieren oder beispielsweise Smilies einzufügen. Zudem würd ich wenn ich dich wäre noch eine Möglichkeit einbauen Beiträge wieder zu löschen.
__________________ (\__/) (='.'=) (")_(") |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| feld und dazugehöriges feld aus einer tabeel holen | kakktus | PHP und MySQL | 6 | 13-01-2010 15:50 |
| Eingabefelder --> Sobald ein Buchstabe im Feld weiter zum nächsten Feld | chris6680 | Flash MX | 7 | 08-09-2005 16:12 |
| feld aust dem feld mit dem 1 als primaerer key mit php aus mysql ?? | boreker | PHP und MySQL | 4 | 26-08-2004 17:18 |
| Formular - Feld beschreibt weiteres Feld | redman | HTML und CSS | 2 | 17-05-2003 10:55 |
| PHP-Forum das selbe wie Flash-Forum | böhseronkel | Flash 4 und Flash 5 | 2 | 21-06-2002 08:57 |