Formularinhallt an Formular schicken und splitten

DJmension

Mitglied
Hallo nochmal , erstmal möchte ich mich für die Tollen Hilfen hier im Forum bedanken.

Ich bin gerade dabei ein Formular zu erstellen in dem ein komplexer Text eingefügt werden soll.

ein Beispiel Text :

Kampfbericht im Detail am 30.03.2008 um 07:44:39 Uhr
Name: Trefferpunkte: Lebensenergie:
Vampir [VoN] ~ Arachno ~ 175.75 9712.03
Werwolf [FL]vgw77 58.06 1
Sieger: [VoN] ~ Arachno ~
Sieger: [VoN] ~ Arachno ~ hat 120 erbeutet! Vampir [VoN] ~ Arachno ~ erhielt 0 und Werwolf [FL]vgw77 erhielt 1 Erfahrungspunkt(e)! Werwolf [FL]vgw77 hat den Kampf verloren, da seine Lebensenergie unter 10 Punkte gefallen ist!

Jetzt will ich die Rot eingefärbten inhallte des Textes an ein weiteres Formular schicken .

Formular Feld ........................ Inhallt
Level : .......... wird peer Get übermittelt
Name : ..................................[FL]vgw77
Beute :...................................120
erwischt: ................................[VoN] ~ Arachno ~
Energie : ................................1
Datum : .................................30.03.2008
Zeit : ..................................... 07:44


Wie mach ich das ?
 
Wieso speicherst Du die entsprechenden Werte nicht einfach in einer SESSION ab.
Wenn Du mit Sessions arbeitest, brauchst Du die Werte nicht mehr von einem Formular zum Anderen Posten.

VG
SOA
 
ich Versteh jetzt nicht so ganz was du meinst :-)

um die erste eingabe komme ich nicht herrum , das ist ja klar , aber das Problem ist eben das eventuell etwas angeglichen werden soll , wenn nötig , desswegen habe ich mir gedacht wär es klasse wenn dann ein Formular erscheint in dem dan die oben beschrieben die ausschnitte drin stehen , bevor es in die DB eingetragen wird.
die farge ist ja jetzt wie filtere ich die Texte aus die ich für die einträge brauche.

Der Text ist ja immer der selbe , nur eben mit verschiedenen Werten.
Diesen habe ich in einem Online Game namens Monstergame. Welches der Kampfbericht ist. Ich hätte das hallt gerne so das die User einfach den Kampfbericht einfügen können und das system filtert die einzelnen wichtigen komponenten des Textes raus und setzt es für den User in die dafür vorgesehenen Formular Felder.

Wie kann ich das mit Sessision lösen, begreit ich nicht so ganz
 
Die Funktion explode() könnte dir weiterhelfen. Du kannst dann den Text, da er ja immer gleich ist, an bestimmten Stellen trennen und dann die einzelnen Werte rauslesen. Ist natürlich etwas aufwendig, da die Trennung immer anhand verschiedener Worte erfolgen muss und wenn man ein Teilstück hat, es wahrscheinlich wieder aufgesplittet werden muss. Beispiel:

PHP:
$text = "Kampfbericht im Detail am 30.03.2008 um 07:44:39 Uhr
Name: Trefferpunkte: Lebensenergie:";
$teil1 = explode("um", $text);
$dat = explode("am", $teil1[0]);
$datum = $dat[1];

Dazu musst du dich dann auch ein klein wenig mit Arrays auskennen.
 
Zuletzt bearbeitet:
Hilfe Halleluja arrays sind ein sehr wichtiger bestandteil vom php , ist mir schon klar , aber tut mir leid zu meiner schande zugeben zu müssen das ich von arrays nicht die geringste ahnung habe, werde mich aber die nächsten Tage damit befassen. Korigiere befassen müssen , weil ich merke schon , wer sich mit arrays auskennt ist klar im vorteil.

Aber ab und zu , wär es mal ganz schön jemanden zu haben der einem mal was erklärt , weil ohne es zu begreifen , kann mann lesen so viel mann will , da stehen immer nur komische Zahlen , Formeln und Variablen . Ohne die Zeichen zu verstehen , wird mann wohl nicht schlau drauß.
Ein Japanisches Buch lesen wird sehr schwierig wenn mann die Bedeutung der Zeichen nicht kennt.
 
Zuletzt bearbeitet:
Hab mir noch mal ein paar Gedanken gemacht:

Woher bekommst du die Werte? eigentlich müssten die doch irgendwie in den Text eingesetzt werden, da dieser ja fest ist und von daher müssen sie über irgendwelche Variablen oder Formulareingaben kommen. Dann brauchst du sie gar nicht erst so kompliziert wieder aus dem Text rausschneiden, sondern kannst sie gleich auf andere Weise speichern/ übergeben, z.B. wie von soa vorgeschlagen in $_SESSION (wenn du mit Sessions arbeitest), oder über $_POST. Wie genau, hängt letztendlich von deinem Code ab, und da kann ich also jetzt nicht viel mehr zu sagen.

Ansonsten noch ein klein wenig mehr zu explode und Arrays:

explode teilt eine Zeichenkette anhand des Trennzeichens auf, das man angegeben hat, zum Beispiel ein Zeichen oder auch ein bestimmtes Wort etc.. Die einzelnen Teile, die daraus entstanden sind, werden in einem Array gespeichert. Aufrufen kann man die Teile über den Variablennamen plus der Stelle des Elements im Array. Die Nummerierung fängt immer bei 0 an.
Ich habe im Beispiel erst beim Wort "um" gesplittet und dann den ersten Teil, der dabei entstanden ist ($teil1[0]) wieder weiter aufgeteilt anhand des Wortes "am", und somit steht das Datum an der zweiten Stelle (also [1] ) im neuen Array.

Ich hoffe, das war ein klein wenig verständlicher, aber du hast Recht: ein klein wenig über Arrays zu lernen ist schon nicht verkehrt ;-)
 
Also so wie ich das jetzt verstehe gibt es:

a) zu Beginn ein Formular wo die rot markierten Angaben eingetragen werden.

b) Wenn das Formular abgeschickt wurde, wird dieser Text zusammen mit den gemachten Angaben angezeigt.

c) Soll es auf der Seite auf der der Text angezeigt wird eine Möglichkeit geben die ursprünglich gemachten Angaben nochmals zu ändern!?

Dann mach doch auf der Seite wo der Text angezeigt wird einfach ein paar versteckte Felder denen Du die gleichen Namen gibts wie im Formular und in die Du die Werte einträgst.

Der Quellcode zu diesem Stück "Kampfbericht im Detail am 30.03.2008 um 07:44:39 Uhr" müsste ja in etwa so aussehen:

PHP:
echo "Kampfbericht im Detail am " .$_POST["datum"] ." um " .$_POST["zeit"] ." Uhr";

jetzt setzt Du irgendwo auf der Seite die versteckten Textfelder:

PHP:
<input type="hidden" value="<? echo $_POST['datum']; ?>" name="datum">
<input type="hidden" value="<? echo $_POST['zeit']; ?>" name="zeit">

dann werden die Werte auch an das andere Formular weitergegeben.

Gruß Thomas

P.S. Und Du brauchst keine SESSION und auch keine Arrays (zumindest hierfür nicht)
 
nein so ist es nicht gedacht gewesen,

1. Formular :

Hier wird vom User der Kampfbericht in einem Textfeld eingefügt , deren Wortlaut immer der selbe ist , nur eben die Namen ( Angreifer / Opfer ) , Zeit und Datum , sowie Gewinnbetrag und die Lebensenergie Zahlen sind immer anders, Diese sollen aus dem erstem Formular raus gefiltert werden . Und im

2.Formular in vorgegebene Input Felder erscheienen , damit , Ja ! es eventuell korigiert werden kann.
 
Also ich versteh wohl etwas falsch, denn ich kann mir beim besten Willen nicht vorstellen das so ein Kampfbericht IMMER genauso wie er oben steht in das Textfeld eingetragen wird.

Auf der Seite wo dieser Bericht eingetragen wird hast Du doch wohl verschiendene Eingabefelder

Denn was passiert wenn ich jetzt zum Beispiel nicht:

Kampfbericht im Detail am 30.03.2008 um 07:44:39 Uhr

sondern:

Kampfbericht im Detail vom 30.03.2008 um 07:44:39

eingebe

Dann siehst Du mit explode oder ähnlichem ganz schön alt aus.
 
Ist jetzt erstmal auch egal , wenn sich das nicht ohne weiteres machen lässt , habe im momment viel schlimmere Schwierigkeiten und suche mir nen Wolf nach ner lösung.

Ach ja Anfänger haben es schwer.
 
Zurück