Thread Textvorbelegung (HTML Input) mit Perl Variablen
(4 answers)
Opened by amun-ra198 at 2007-12-04 11:53 amun-ra198+2007-12-04 10:53:46-- 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. Code (perl): (dl
)
1 2 3 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: Code (perl): (dl
)
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. Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wie frage ich & perlintro brian's Leitfaden für jedes Perl-Problem |