amun-ra198+2007-12-04 10:53:46--
my $description = $cgi->param('param6');
print "<tr><td>Beschreibung: </td><td><input name=\"description\" size=60 maxlength=128 value=\'$description\'></td></tr>";
Ich stehe da gerade irgendwie auf dem Schlauch.
Kann mir jemand weiterhelfen?
ja, du selbst.
du sagst, wenn du $description vorher ausgibst, sind keine leerzeichen drin, in dem string mit
dem html aber schon. ich muss ganz ehrlich sagen, dass ich das nicht glaube.
my $description = $cgi->param('param6');
print "<$description>\n";
print "<tr><td>Beschreibung: </td><td><input name=\"description\" size=60 maxlength=128 value=\'$description\'></td></tr>";
so, warum sollte nun $description einmal leerzeichen haben und einmal nicht.
die lösung besteht darin, die stelle zu finden, wo leerzeichen hinzugefügt werden.
schau dir den output des obigen codes an. schau dir bitte auch das entstandene html im browser
an. und dann, um augenkrebs zu vermeiden, solltest du perls wunderbaren quoting-operator
benutzen:
print qq{<tr><td>Beschreibung: </td><td><input name="description" size=60 maxlength=128 value="$description"></td></tr>};
zu guter letzt sei dir noch gesagt: was, wenn $description " enthält? ganz einfach, du musst
den wert von $description escapen, mit
HTML::Entities. oder gleich einem templating-system,
dass das für dich erledigt.
HTML::Template oder
HTC machen das für dich.