Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]605[/thread]

Problem mit textarea: Text wird nicht angezeigt (Seite 2)



<< |< 1 2 >| >> 19 Einträge, 2 Seiten
nepos
 2005-11-05 17:51
#5957 #5957
User since
2005-08-17
1420 Artikel
BenutzerIn
[Homepage] [default_avatar]
Stimmt, das geht mit Opera recht schoen, wo man doch per Rechtsklick die aktuelle Seite mal durch den W3C-Validator jagen kann ;)
pktm
 2005-11-05 18:13
#5958 #5958
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
Hm, das wäre eine Idee.
http://www.intergastro-service.de (mein erstes CMS :) )
pktm
 2005-11-06 05:45
#5959 #5959
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
Ok, jetzt habe ich meine Templates gräßtenteils nach XHTML 1.0 Strict validiert.
Dabei fiel mir auf, dass es noch weiter Symptome für das Problem gab:
Redirects mit der bisherigen Eingabe im Query wurden nicht ausgeführt (der Browser hatte einfach nichts mehr angezeigt).
Mittlerweile bin ich dann auch auf den Trichter gekommen, dass meine Vermutungen bezüglich der Browser unberechtigt waren.
Esskar scheint einfach recht zu haben (man merke die diplomatische, undogmaitsche Ausdrucksweise <-- neu!!! :-D)

Das hier ist der alte Test-Text (bitte kein Mobben aufgrund des Inhaltes hier - klar?):
Quote
Firefox eine gute Entwicklugn war. Nur durch diesen Browser
gelang es mir eine Schwäche des Opera 7.5 heraus zu finden.
Mit dem IE hätte es übrigens nicht geklappt, weil dieser einen
Dreck auf CSS und positionierung mit irgend etwas beliebigem
außer Tabellen gibt.


Probiert es dochmal aus, hier ist mein testcode:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
package Test;
   use base "CGI::Application";
   use CGI::Application::Plugin::Forward;
   use CGI::Application::Plugin::Redirect;
   use CGI::Application::Plugin::Session;
   
   use File::Spec;
   
   sub setup {
       my $self = shift;
       $self->run_modes([qw(
           start
           third
           second_runmode
       )]);
   }
   
 # configure the session once during the init stage
   sub cgiapp_init {
       my $self = shift;

       # Configure the session
       $self->session_config(
          CGI_SESSION_OPTIONS => [
             "driver:File",
             $self->query(),
             {
                 Directory => File::Spec->catfile(qw(c: apache cgi-bin cms session)),
             }
          ],
          DEFAULT_EXPIRY      => '+ws',
          COOKIE_PARAMS       => {
                                   -expires => '+24h',
                                   -path    => '/',
                                 },
          SEND_COOKIE         => 1,
       );
       
   }
   
   sub start {
       my $self = shift;
       my $url = $self->query->url(-relative=>1,) . '?rm=third';
       $self->session->param('test' =>
                             qq~Firefox eine gute Entwicklugn war. Nur durch diesen Browser
gelang es mir eine Schwäche des Opera 7.5 heraus zu finden.
Mit dem IE hätte es übrigens nicht geklappt, weil dieser einen
Dreck auf CSS und positionierung mit irgend etwas beliebigem
außer Tabellen gibt.~
                             );
       return qq~
       <html>
       <body>
       <a href="$url">fwd</a>
       <p>Session-p: 'blubb'</p>
       </body></html>
       ~;
   }
   sub second_runmode {
       my $self = shift;

       my $rm = $self->get_current_runmode;  # 'second_runmode'
       my $p = $self->query->param('test') || 'kein Query-P';
       my $url = $self->query->url(-relative=>1);
       return  qq~
           $rm, $p<br />
           <a href="$url">start</a>
       ~;
   }
   sub third {
       my $self = shift;
       
       my $p = $self->session->param('test') || 'keine Session';
       $self->session->close();
       $self->session->delete();        
       
       return $self->redirect($self->query->url(-relative=>1,) . '?rm=second_runmode;test=' . $p);
   }
   
   #sub cgiapp_postrun {
   #    my $self = shift;
   #    my $output_ref = shift;
   #    
   #    # mach was
   #    $self->param('postrun' => 1);
   #}
   
1;

my $app = Test->new();
$app->run();


Gibt es gute Module zum quoten gefährlicher Query-Parameter?
Ich dachte da so an HTML::Entities...

Grüße, pktm
http://www.intergastro-service.de (mein erstes CMS :) )
nepos
 2005-11-06 12:55
#5960 #5960
User since
2005-08-17
1420 Artikel
BenutzerIn
[Homepage] [default_avatar]
Hm, reicht zum Quoten nicht einfach escapeHTML?
esskar
 2005-11-06 14:44
#5961 #5961
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
[quote=pktm,06.11.2005, 04:45]Esskar scheint einfach recht zu haben[/quote]
*dumdidum*
pktm
 2005-11-06 16:16
#5962 #5962
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
escapeHTML reicht nicht aus, da hängt essich noch auf. Habe jetzt URI::Escape benutzt. Damit geht es. Was ich dabei noch nicht so ganz verstehe ist, wie ich einen mittels uri_escape_utf8 codierten String wieder zurück verwandeln kann. uri_unescape produziert in diesem Kontext nur irgendwelche seltsamen, kryptischen Zeichen.
http://www.intergastro-service.de (mein erstes CMS :) )
pq
 2005-11-06 16:22
#5963 #5963
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
HTML::Entities ist das richtige Modul.
URI::Escape ist zum escapen von URIs, und nicht von HTML. somit dürfte der output
auch falsch sein.
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: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
pktm
 2005-11-07 00:16
#5964 #5964
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
Nun, mit HTML::Entities geht es wieder nicht.
Aber so falsch ist URI::Escape doch garnicht, da es ja um Query-Parameter geht, die ich gerade zum bauen einer URL benutze um sie bei einem Redirect zu übergeben.
Code: (dl )
1
2
3
4
5
6
7
8
9
    my $params = '?rm=aktualisiere';
my %p = %{$self->session->param_hashref()};
foreach my $key ( keys(%p) ) {
next if $key =~ m/^_/;
next if $key eq 'rm';
next unless defined $p{$key};
$p{$key} = URI::Escape::uri_escape( $p{$key} );
$params .= "\;$key\=$p{$key}";
}
http://www.intergastro-service.de (mein erstes CMS :) )
pq
 2005-11-07 01:03
#5965 #5965
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
[quote=pktm,06.11.2005, 23:16]Nun, mit HTML::Entities geht es wieder nicht.
Aber so falsch ist URI::Escape doch garnicht, da es ja um Query-Parameter geht, die ich gerade zum bauen einer URL benutze um sie bei einem Redirect zu übergeben.[/quote]
dafür brauchst du das, das stimmt. aber nicht für simples html.
der inhalt der textarea muss mit HTML::Entities escaped werden.
wenn du *darin* noch etwas url-escapen willst, musst du das zusätzlich
für genau den zu escapenden teil machen.
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: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
<< |< 1 2 >| >> 19 Einträge, 2 Seiten



View all threads created 2005-11-05 01:26.