Textvorbelegung mit Quotation Marks bei Eingabefeldern
michael12345
- perl
Hi,
ich hab ein Problem bei der Textvorbelegung und steh grad vollkommen auf dem Schlauch und komme nicht weiter.
Vielleicht kann mir jemand helfen.
Ich hole mir mit einem Perl Skript aus einer Mysql Datenbank einen String.
Diesen String moechte ich dann als Textvorbelegung eines Eingabefeldern an den Browser uebergeben.
Leider ist mein String ein bischen kompliziert und er wird immer bei den Anfuehrungszeichen abgeschnitten:
Das ist ein einfacher Beispiel String:
--------------------------------------
Hallo "Mister" Bond
--------------------------------------
Im Skript hab ich nun folgendes stehen:
$form = qq(<input name="string" type="text" size="30" value="$STRING">);
($form wird dann spaeter an den Browser uebergeben)
Fuer $STRING soll nun der Beispiel String von oben eingesetzt werden.
Aber wie schon oben erwaehnt wird der String dann im Browser nach 'Hallo ' abgeschnitten,
das sieht dann so im Html Source aus:
<input name="string" type="text" size ="30" value="Hallo "Mister Bond>
Wie kann ich nun im Perl Skrip sicherstellen das mein String komplett im Browser erscheint?
Ich habe versucht die Anfuehrungszeichen zu Escapen, geht nicht, hab versucht sie duch den ascii code x22 zu ersetzten,
geht wieder nicht, es wird immer abgeschnitten. Habs auch mit URI::Escape probiert, aber dann hab ich die ganzen sonderzeichen als %20%22 usw. drin.
Hat jemand ne Idee?
Michael
Hallo Michael,
$form = qq(<input name="string" type="text" size="30" value="$STRING">);
[...]
<input name="string" type="text" size ="30" value="Hallo "Mister Bond>
[...]
Hat jemand ne Idee?
ersetze die html-Sonderzeichen (<,>,&,") durch ihre Enties (<,>,&,") und fertig :-)
Grüße aus Nürnberg
Tobias
Hallo Michael,
$form = qq(<input name="string" type="text" size="30" value="$STRING">);
[...]
<input name="string" type="text" size ="30" value="Hallo "Mister Bond>
[...]
Hat jemand ne Idee?
ersetze die html-Sonderzeichen (<,>,&,") durch ihre Enties (<,>,&,") und fertig :-)
Danke, danke, danke, du hast mir den Tag gerettet, ach was das ganze Wochenende :))
Regards,
Michael
Das ist ein einfacher Beispiel String:
Hallo "Mister" Bond
Im Skript hab ich nun folgendes stehen:
$form = qq(<input name="string" type="text" size="30" value="$STRING">);
($form wird dann spaeter an den Browser uebergeben)
Hat jemand ne Idee?
Ja.
Benutze das CGI.pm Modul, das macht das alles automatisch für dich:
use CGI;
CGI::param('test', Hallo "Mister" Bond);
print CGI::textfield(-name => 'test');
Struppi.
Tag Struppi.
Benutze das CGI.pm Modul, das macht das alles automatisch für dich:
Kennst du eine gute deutschsprachige Referenz zum Modul? Die auf www.perldoc.com bzw. cpan.org ist mir zu dürftig und auf Selfhtml werden die HTML-Ausgabefunktionen leider nur angerissen.
[dsf 3.6]
Siechfred
Kennst du eine gute deutschsprachige Referenz zum Modul? Die auf www.perldoc.com bzw. cpan.org ist mir zu dürftig und auf Selfhtml werden die HTML-Ausgabefunktionen leider nur angerissen.
Ich hab vor Jahren mal eine runtergeladen, ich finde aber keine aktuelle Version.
Hier das Dokument http://www.uni-mainz.de/~struebig/cgi_de.htm
(von 1998 dürfte aber die meisten dinge beinhalten).
Wobei das ganze aber eher trivial ist (wenn man's mal verstanden hat). Letztlich musst du nur Wissen, wann du mit Arrays und wann mit Referenzen von Arrays arbeiten musst und du kannst sehr einfach Formulare fertig ausgefüllt (sehr nützlich die sogenannten http://www.uni-mainz.de/~struebig/cgi_de.htm#CREATING_A_POPUP_MENU popup_menu's.) und Tabellen oder Listen erzeugen.
Struppi.
Tag Struppi.
Hier das Dokument http://www.uni-mainz.de/~struebig/cgi_de.htm
Danke, Lesezeichen ist angelegt :)
Siechfred
hi Struppi.
eine frage zum CGI.pm modul hätt ich:
Ist es nicht sehr recourcen fressend wenn man in perl das CGI.pm modul lädt?Sind ja schon viele daten,jedenfalls das CGI.pm (von perl seite geholt) was ich auf meinem lokalen rechner habe.Man kann auch sehr schöne codes dort im CGI.pm finden,mit erklärungen.Frage mich desshalb,ob das dasselbe CGI.pm ist,welches auch auf dem server steht und ob falls ja,das ganze modul reingezogen wird in den speicher,wenn man use CGI.pm benutzt?
Gruss
Alain
Tag Alain.
Ist es nicht sehr recourcen fressend wenn man in perl das CGI.pm modul lädt?
Kommt drauf an, was du brauchst. Wenn du den kompletten Funktionsumfang nutzen willst, bindest du das Modul vollständig ein. Du kannst aber auch selektieren. Z.B. "use CGI qw/param/" bindet nur die Funktion param() ein, die du dann direkt aufrufen kannst:
my $input = param('input');
Weitere Möglichkeiten sind in der Doku beschrieben, siehe Link von Struppi oder auf perldoc.com.
[dsf 3.6]
Siechfred