PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Variablen werden nicht gehalten



kaptain Iglo
05-11-2001, 10:45
Folgendes Problem:

Ich habe ein Formular mit bestimmten Soll-Feldern. Wenn ein bestimmtes Feld nicht eingegeben wurde werden die bisherigen Eingaben angezeigt. Wenn der User das Formular wieder abschickt ohne die Soll Felder auszufüllen werden aber die gespeicherten Variablen teilweise gelöscht.
Es werden nur 8 Buchstaben in der Variable gehoben und der Rest wird gelöscht.
Woran liegt das?


<table width="100%" border="0"><tr> <td><img src="/images/empty.gif" width="25" border="0"></td> <td> <?php if ($HTTP_POST_VARS["ver"]=="" ) {?> <td> <textarea class=textinput rows=3 cols=25 name="ver" > </textarea> </td> <?php } else { ?> <td> <?php echo $HTTP_POST_VARS["ver"] ?> <input class=textinput type="hidden" name="ver" value=<?php echo $HTTP_POST_VARS["ver"] ?>> </td> <?php } ?> </tr> </table>

xstevex22
06-11-2001, 09:31
Wenn du dich ein wenig genauer ausdrücken kannst, bin ich vielleicht in der Lage dir zu helfen. Wie sieht denn der Quelltext aus ? Wie ich es verstanden habe, hast du bestimmte Felder, die alle ausgefüllt werden müssen. Wenn das nicht der Fall ist, muss man seine Eingabe wiederholen. Dabei versuchst du, die bisher eingegebenen Felder zu sichern, so dass die nicht ein weiteres mal eingegeben werden müssen. Richtig ? :confused:

kaptain Iglo
06-11-2001, 10:45
Hai,
ok.
ich versuche das ganze ausführlich zu beschreiben:

Ich habe ein Formular bei dem es bestimmte Soll Felder gibt.
(name usw.)
Die bisherigen Eingaben werden aber gespeichert.

Mein Problem ist das wenn der User die Sollfelder wieder nicht richtig ausfüllt Teile der bisherigen Eingaben gelöscht werden.
(Schwer zu erklären.)
Als Beispiel:
Ich gebe bei dem Feld Strasse folgendes ein:
strasse.12

Dann drücke ich auf absenden.
Jetzt meckert das Formular das der Name fehlt.
Es wird aber anstatt der Eingabemaske der Wert
"strasse.12" angezeigt.
Drücke ich wieder auf absenden kommt dann wieder die
Fehlermeldung das nicht alle Felder ausgefüllt werden.
Jetzt wird aber nur noch strasse angezeigt. .12 wird abgeschnitten.

---------------------------------------------
Hier der Code für das Formular


<table width="100%" border="0">
<tr>
<td><img src="../images/empty.gif" width="25" border="0"></td>
<td>
<?php
if ($HTTP_POST_VARS["verfueg1"]=="" ) {
?>
<td>
<textarea class=textinput rows=3 cols=25 name="verfueg1" > </textarea>
</td>
<?php
} else {
?>
<td>
<?php echo $HTTP_POST_VARS["verfueg1"] ?>
<input class=textinput type="hidden" name="verfueg1" value=<?php echo $HTTP_POST_VARS["verfueg1"] ?>>
</td>
<?php } ?>
</tr>
</table>


Wie gesagt wer der User ein Sollfeld nicht ausfüllt wird der Wert richtig ausgegeben. Nur wenn er ein zweites mal das formular ausfüllt wird der bisherige Wert gekürzt.

philippmueller
06-11-2001, 13:20
Wenn das wirklich der Originalcode ist, ist die Ursache klar:

<input class=textinput type="hidden" name="verfueg1" value=<?php echo $HTTP_POST_VARS["verfueg1"] ?>>

wir gekürzt, da Du den Inhalt von value nicht in Anführungszeichen setzt..

kaptain Iglo
06-11-2001, 13:46
Wie müßte es dann richtig sein?
Was heißt in Anführungszeichen setzen?

philippmueller
06-11-2001, 13:50
statt:
value=<?php echo $HTTP_POST_VARS["verfueg1"] ?>

eben

value="<?php echo $HTTP_POST_VARS["verfueg1"] ?>"

kaptain Iglo
06-11-2001, 13:59
Wow es geht. :)

Cool.
Großer Dank und einen dicken Blumenstraus.