Hilfe bei Formularen

morphi79

Erfahrenes Mitglied

Da ich ja ein total Newbee bin und mir gerade php beibringen will, hoffe ich ihr werdet mir beiseite stehen. ich hab ne aufgabe, welche ich lösen möchte:
Szenario:

Für Ihre Party haben Sie sich etwas Besonderes einfallen lassen:

Sie möchten gerne, dass die Besucher einer von Ihnen veranstalteten Party gemeinsam an einer Kurzgeschichte arbeiten können. Jeder registrierte Besucher kann an dem Computer im Partyraum seinen Textteil an den bereits geschriebenen Text anhängen.
Aufgabe 1:
Sobald ein Partygast seinen Textteil eingegeben hat, soll mittels eines Klicks auf den Submit-Button die bisherige Geschichte zusammen mit dem eben eingegebenen Text unter dem Formularbereich erscheinen. Anschließend soll ein eingebauter „Counter" feststellen, wie oft der Text bereits editiert wurde. Ferner soll erkennbar sein, wer zuletzt an dem gemeinsamen Text gearbeitet hat.

Lösungshinweis:

Sie müssen sowohl den bisherigen Text der Geschichte als auch den aktuellen Wert des Counters von einem Seitenaufruf zum nächsten weitergeben. Verwenden Sie versteckte Formularfelder.

Aufgabe 2:

Sie möchten als Partyveranstalter aber auch die Möglichkeit haben, den Text zu löschen, falls ein übermütiger Gast den Verlauf der Geschichte in eine unerwünschte Richtung lenkt. Dazu platzieren Sie bitte dort, wo in der HTML-Vorgabe „Resetfunktion" steht, einen Link zum Löschen der bisher geschriebenen Geschichte und Zurücksetzen des Editierungszählers.

Lösungshinweis:

Wenn das Eingabedokument über einen Link ohne URL-Parameter aufgerufen wird, sind die Variablen für Text und Zähler wieder undefiniert (wie beim ersten Aufruf der Seite vor Eingabe eines Textes).
Die Webseite sollte dann so aussehen:
Code:
<html> 
<head> 
<title>Text - Seite 1</title> 
</head> 
<body> 
<form action="text.php" method="post"> 
<table> 
<tr> 
<td>Username:</td> 
<td> 
<select name="username"> 
<option value="Kerstin">Kerstin</option> 
<option value="Bernd">Bernd</option> 
<option value="Thorsten">Thorsten</option> 
<option value="Anett">Anett</option> 
<option value="Ronald">Ronald</option> 
</select> 
</td> 
</tr> 
<tr> 
<td>Text:</td><td><textarea name="new" cols="30" rows="5"></textarea></td> 
</tr> 
<tr> 
<td>&nbsp;</td><td><input type="Submit" name="submit" value="Los gehts!"></td> 
</tr> 
</table> 
</form> 
<table width="400"> 
<tr> 
<td> 
Änderungsnummer 
</td> 
</tr> 
<tr> 
<td> 
Letzter User 
</td> 
</tr> 
<tr> 
<td> 
Geschichte 
</td> 
</tr> 
<tr> 
<td> 
Resetfunktion 
</td> 
</tr> 
</table> 
</body> 
</html>

Wie beginne ich jetzt? Ich werde die Post Methode verwenden, dann brauch ich hidden für das unsichtbare, und weiter bin ratlos
Hiermit bekomme ich ja schonmal die Ausgabe der textarea:
Code:
<? echo $HTTP_POST_VARS; ?>
 
Zuletzt bearbeitet:
Wie kann ich denn in der Textarea eingegebene Texte speichern?

Text eingeben -> Text wird als Variable gespeichert ->Variable wird ausgegeben`?
 
Ersteinmal soltest du dir die Frage stellen, ob du mit einer MySQL-Datenbank oder mit Dateiverarbeitung arbeiten möchtest, wobei ich aus Gründen des Komforts die MySQL-Datenbank vorziehen würde.

Im Übrigen: Was hast du denn für eine PHP-Version? Normalerweise müsstest du nämlih auch über $new auf die Variable zugreifen können.

ansonsten würde ich dir raten, dir einmal ein fertiges Skript für ein Gästebuch aus dem Internet herunterzuladen und es dir anzuschauen. Das sollte deine Fragen beantworten.


MfG

Matthias Nordwig
 
Es soll nur mit PHP sein.

Wenn ich das Formular ansehen, habe ich ja schon die Komponenten für den Namen, den Text der eingegben wird sowie für einen Counter da. Ich denke mal, ich brauch 2 Variablen, um den Text darzustellen. Die eine Variable, um den eingegebenen Text anzuzeigen. Mit $new wird das wiedergegeben, was in der Textarea geschrieben steht. Die zweite Variable sollte dann den Text speichern und einen neuen Text dazu aufnehmen, eine "Sammel"Variable also. Lieg ich richtig? Nur wie bekomme ich den Text von einer Variablen in eine andere und speichere dort den Inhalt langfristig?
Den Counter wäre am besten mit einem verstecken Feld machbar. Bin ich da richtig mit Post-Dekrement Operator`?

Sorry, aber jeder fängt mal an.
 
Hallo!

Zu $HTTP_SERVER_VARS solltest Du mal hier bzw. hier ein wenig nachlesen.
Du solltest also mit Superglobalen arbeiten, wenn Du nicht früher oder später Probleme bekommen willst.
Stichwort währe hier z.b. register_globals=OFF..... nach meinem Empfinden die wohl häufigste Ursache für plötzlich nicht mehr (oder noch nie) funktionierende Scripte.
Auch solltest Du dir mal http://www.schattenbaum.net/php/ ansehen.
Tutorials findest Du z.b. auf http://www.php-einfach.de so wie auch hier im Forum (siehe Menü).

Und nutze bitte die Vorschaufunktion um dein Posting ggf. zu editieren, denn die ganzen
und​
kommen durch dein copy&paste und erschweren die Lesbarkeit wesentlich.
Kleiner Tip: Da Du dein Text ja aus anderen Dateien/Seiten kopierst, kopiere ihn zuerst in eine leere Textdatei (mit Notepad, nicht Wordpad oder gar Word) und kopiere sie von dort erneut um sie anschliessend in deinem Posting einzufügen.
So werden unnötige Formatierungen verworfen.

Gruss Dr Dau
 
Zurück