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

Formular absenden: wie geht das mit LWP ?



<< >> 4 Einträge, 1 Seite
baerli56
 2005-06-10 15:39
#5100 #5100
User since
2005-06-10
5 Artikel
BenutzerIn
[default_avatar]
Hallo zusammen, ich hab angefangen Perl/CGI zu lernen,
möchte jetzt auch PHP lernen.

Vielleicht könnt Ihr mir zu einigen Fragen weiterhelfen.

1. Mit dem Modul WWW::Mechanize gibt es keine Probleme,
Formulare abzusenden (Ergebnisse sollen durchsucht werden und in DB geschrieben werden. Die Kontrollausgabe zeigt, dass es funktioniert)

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
my $a = WWW::Mechanize->new(); 
    my $url = "http://......";
    $a->get( $url );
    $a->submit_form
    (
       'form_name' => 'SBform',
'fields' =>
{
'mode' => 'FEUR',
'nom' => '2',
'm1' => $m1_string,
'm2' => $m2_string,
       'pT' => $anzpers,
'm1DP' => '02',
'm1DO' => '02',
'm2DP' => '02',
'm2DO' => '02',
       }
    );
    print $a->content();


Gleiches soll lt. Lehrbüchern auch mit LWP::UserAgent möglich sein, in etwa so:

Code: (dl )
1
2
3
4
5
6
7
8
9
use LWP::UserAgent;
my $url = "http://......";
my $UA = LWP::UserAgent->new();
my %fields = (mode => 'FEUR', nom => '2',
     m1 => $m1_string, m2 => $m2_string,
     pT => $anzpers, m1DP => '02',
     m1DO => '02', m2DP => '02', m2DO => '02');
my $res = $UA->post("$url", \%fields);
print $res->content();


Hiermit erhalte ich allerdings die auszufüllende Seite und nicht das Resultat des Absendens des Formulars. Wo liegt der Fehler? Ist das überhaupt mit LWP möglich ?

Meine zweite Frage betrifft Perl und PHP.
In entsprechenden Lehrbüchern wird natürlich stets entweder Perl oder PHP als die Sprache der Wahl fürs Web bezeichnet. Wo liegen die Vor- und Nachteile beider Sprachen bei welchen Einsatzmöglichkeiten.
Welche Zusatzmodule existieren für PHP, um das Web zu durchforsten (vergleichbar mit WWW::Mechanize für Perl) ?

Das waren jetzt einige Fragen.
Vielleicht könnt ihr mir etwas weiterhelfen und Anregungen geben.
Danke
cs
 2005-06-10 16:24
#5101 #5101
User since
2005-05-19
26 Artikel
BenutzerIn
[default_avatar]
Meine zweite Frage betrifft Perl und PHP.
In entsprechenden Lehrbüchern wird natürlich stets entweder Perl oder PHP als die Sprache der Wahl fürs Web bezeichnet. Wo liegen die Vor- und Nachteile beider Sprachen bei welchen Einsatzmöglichkeiten.
--
http://www.google.de/search?....fficial
http://www.google.de/search?....fficial
Strat
 2005-06-10 16:44
#5102 #5102
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
das haengt immer davon ab, welche techniken benuetzt werden:

Perl/CGI:
recht langsam, da bei jedem seitenaufruf perl+module geladen werden muessen, das programm compiliert und dann ausgefuehrt.

php/CGI: dasselbe Problem

mod_php: hier laeuf php als Apache-Servermodul, wodurch es i.d.R. um einiges schneller als die CGI-Loesungen ist

mod_perl: genauso wie mod_php, nur hat man auch (bei Apache::Request) noch sehr guten Zugriff auf die Apache-APIS. Allerdings muss man ein paar Sachen beachten, um vernuenftige mod_perl-Scripte schreiben zu koennen und sich keine Memoryleaks einhandelt oder anderen mod_perl-scripten variablenwerte wegschiesst. (Bei mod_perl soll das letzte Problem kein Problem mehr sein)

Ich habe zwar wenig Ahnung von PHP, schreibe aber mal ins Blaue hinein:

Fehlende Namensraeume in PHP: hier muss man sich muehseelig ueber Namenskonventionen behelfen, so beginnen z.B. die DB-Funktionen alle mit mysql, die anderer Datenbanken mit einem anderen vorsatz (z.B. mysql_connect); wenn man da mal eine andere Datenbank verwenden will, kann man an zig stellen im Code aenderungen vornehmen.
PHP wird - gerade bei groesseren Projekten - in meinen Augen viel zu schnell unuebersichtlich, weil code oft nicht dort liegt, wo man ihn erwartet. In Perl kann man durch Namensraeume/Module recht klar trennen.

x) Ich mag es nicht, zu viele verschiedenen sprache in einer datei zu halten; bei PHP hat man in html programmcode (obwohl: mittlerweile gibt es auch schon Templating systeme fuer php), bei Perl gibt man in der Regel HTML aus (haeufig ueber ein Templating System).

x) Fuer Perl spricht auch, dass es eine Menge an Modulen gibt, die einem oft viel Arbeit ersparen.

x) PHP ist, wenn man HTML kann, wahrscheinlich einfacher zu lernen.

so, mehr faellt mir nicht ein
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
cs
 2005-06-10 17:33
#5103 #5103
User since
2005-05-19
26 Artikel
BenutzerIn
[default_avatar]
x) Fuer Perl spricht auch, dass es eine Menge an Modulen gibt, die einem oft viel Arbeit ersparen.
x) PHP ist, wenn man HTML kann, wahrscheinlich einfacher zu lernen.
--
leider hat man sehr oft gar nicht die wahl. die meisten webspaceprovider bieten leider nur php an.
warum eigentlich? angeblich ist cgi nicht so sicher, ist da was dran?
<< >> 4 Einträge, 1 Seite



View all threads created 2005-06-10 15:39.