User since
2005-12-12
3
Artikel
BenutzerIn
Wieder mal ne Knacknuss..
In einer php Seite rufe ich mit:
<?php system('perl test.cgi'); ?>
ein perl script auf, was grundsätzlich funktioniert.
Nur: das perl script verarbeitet POST Variablen mittels CGI->param('etc');
standalone läuft das perl script. Eingebettet in php kommen die POST Variablen nicht mehr an.
mal grundsätzlich: sind da die http header informationen nicht mehr verfügbar? Wenn nein, wie könnte ich die "weiterreichen"?
Super wäre, wenn das script sowohl embedded wie standalone laufen würde.
Hat jemand eine Idee?
Besten Dank und Grüsse
Emanuel
User since
2003-11-28
3645
Artikel
ModeratorIn
CGI.pm kann u.U. Kommandozeilenparameter verwenden.
User since
2003-08-04
14371
Artikel
ModeratorIn
Du koenntest es so machen:
my $string = "";
foreach ($HTTP_POST_VARS as $key=>$val){
$string .= " $key=$val";
}
system("perl test.cgi $string");
User since
2003-11-28
3645
Artikel
ModeratorIn
Man sollte natürlich die Listen-Form von system() verwenden, um das Injizieren von gefährlichen Metazeichen zu verhindern --- falls PHP so etwas überhaupt kennt.
User since
2003-08-04
14371
Artikel
ModeratorIn
Oder selbst die Formularinhalte ueberpruefen...