Schrift
[thread]2907[/thread]

CGI::Application: Vorgehensweise (Frage am Rande) (Seite 2)



<< |< 1 2 >| >> 17 Einträge, 2 Seiten
Gast Gast
 2004-05-18 18:35
#29248 #29248
Quote
Damit sich der Benutzer den Parameter runmode ersparen kann soll der Link aber so aussehen:
cms.cgi?src=path/to/file


Dann mach das doch ganz schlicht im Formular ...
z.B.:
<input type="hidden" name="scr" value="$path_to_file">
u.s.w für die anderen Auswahlmöglichkeiten.
ptk
 2004-05-18 19:04
#29249 #29249
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
@Dieter: Hast du mal deinen Beispielcode tatsaechlich ausprobiert?

@ptkm: Hast du dir eigentlich meinen Vorschlag angeguckt (ganz oben)?
pktm
 2004-05-18 19:05
#29250 #29250
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
Dann muss der Benutzer ja ein ganzes Formular erstellen ^^

Zurück zum Thema:
Problemstellung:
cms.cgi?runmode=file;src=path/to/file
soll beim AUfruf cms.cgi?src=path/to/fikle
exakt das Selbe machen.
Kann man das noch anders hinbekommen außer durch eine große If-Else-Verzweigung? (gehen wir einfach mal davon aus, dass man in Zukunft noch einige Auswahlmöglichkeiten mehr hat)
Die Rahmenbedingung ist dabei die Benutzung des Modules CGI::Application.
http://www.intergastro-service.de (mein erstes CMS :) )
pktm
 2004-05-18 19:07
#29251 #29251
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
[quote=ptk,18.05.2004, 17:04]@Dieter: Hast du mal deinen Beispielcode tatsaechlich ausprobiert?

@ptkm: Hast du dir eigentlich meinen Vorschlag angeguckt (ganz oben)?[/quote]
Jupp, habe es im Moment so geregelt, nur dass ich keine CGI-Parameter setze sondern die Runmodes von CGI::Application:
Code: (dl )
1
2
3
4
5
6
7
sub cgiapp_prerun {
my $self = shift;
my $q = $self->query();
if ($q->param("file")) { $self->prerun_mode('file') }
elsif ($q->param("db")) { $self->prerun_mode('db') }
elsif ($q->param("mmdw")) { $self->prerun_mode('mmdw') };
}
http://www.intergastro-service.de (mein erstes CMS :) )
Gast Gast
 2004-05-18 22:10
#29252 #29252
[quote=ptk,18.05.2004, 17:04]@Dieter: Hast du mal deinen Beispielcode tatsaechlich ausprobiert?[/quote]
Ähhhmm ... ich denke ich verwende das Teil (vielleicht nicht ganz so wie geschrieben) in allen meinen Programmen.
Das Teil läuft tatsächlich wie geplant.
ptk
 2004-05-18 22:47
#29253 #29253
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
/tmp/bla.pl enthaelt:
Code: (dl )
1
2
3
4
5
6
7
#!/usr/bin/perl
sub sub_1 { die }
my $event = {
'src' => \&sub_1(q|attrib_1|),
'file' => \&sub_2(q|attrib_2|),
'keyword' => \&sub_3(q|attrib_3|),
};

Der Aufruf liefert:
Code: (dl )
1
2
3
$ /tmp/bla.pl
Died at /tmp/bla.pl line 2.
Exit 255
pq
 2004-06-02 15:44
#29254 #29254
User since
2003-08-04
12209 Artikel
Admin1
[Homepage]
user image
[quote=Dieter,18.05.2004, 20:10]Ähhhmm ... ich denke ich verwende das Teil (vielleicht nicht ganz so wie geschrieben) in allen meinen Programmen.
Das Teil läuft tatsächlich wie geplant.[/quote]
der teil "vielleicht nicht ganz so wie geschrieben" sollte dir zu denken geben.
Code: (dl )
1
2
3
4
5
6
7
tina@lux:~> perl -MData::Dumper -wle'
sub test { 23 };
$sub = \&test;
$sub2 = \&test("param");
print Dumper $sub, $sub2'
$VAR1 = sub { "DUMMY" };
$VAR2 = \23;
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 >| >> 17 Einträge, 2 Seiten



View all threads created 2004-05-18 12:22.