Hallo Leute.
Ich habe hier ein Perl Script, eigentlich nichts außergewöhnliches:
Dieses Script muss in PHP umgeschrieben werden. Leider habe ich null Ahnung von Perl, habe mich trotzdem mal daran versucht:
Ich habe noch zwei kleine Probleme mit den Zeilen:
und
Wie müssen die in PHP aussehen? Und ist der Rest des Scriptes in Ordnung?
Vielen Dank schon einmal!
Ich habe hier ein Perl Script, eigentlich nichts außergewöhnliches:
Code:
#!/usr/bin/perl
# Einbinden der benötigten Module
use LWP::UserAgent;
use CGI;
# Deklaration wichtiger Einstellungen
my $aid = 1; # Ihre ECS-Solution AID
my $sid = 1; # Ihre ECS-Solution SID
my $protocol = "https"; # Evtl. auf http stellen
my $seconds = 300; # Sekunden die Trans. max alt sein darf
# neues CGI-Objekt generieren
my $q = CGI->new();
# Auslesen der übergebenen Parameter
my $p_amount = $q->param('AMOUNT');
my $p_tnum = $q->param('TNUM');
my $p_errcode = $q->param('ERRORCODE');
my $p_errdesc = $q->param('ERRORDESC');
my $p_token = $q->param('TOKEN');
# Pruefe ob Transaktion erfolgreich war
if ($p_errcode eq "0")
{
# Testen wir doch mal mit dem Transval ob das
# alles so richtig ist.
$ua = LWP::UserAgent->new(); # Erzeuge Useragent
# Generiere den HTTP-Request
my $request_url = $protocol."://ssl.ecs-solution.de/cgi-bin/transval.cgi";
$request_url .= "?AID=".$aid."&SID=".$sid;
$request_url .= "&AMOUNT=".$p_amount."&TID=".$p_tnum;
$request_url .= "&SECONDS=".$seconds;
$request = HTTP::Request->new(GET=>$request_url);
# Schicke Requets ab und lese Ergebniss
$response = $ua->simple_request($request);
# Auslesen des zurückgelieferten Contents
$html = $response->content();
# Trenne die Rückgabe in Ihre Bestandteile auf
my($state,$timestamp) = split /;/, $html,2;
# War die Transaktion jetzt gut oder nicht ?
if ($state eq "Valid")
{
# Super, alles klar, hier kommen all die schönen Dinge
}
else
{
# Sieht so aus als wenn hier jemand bescheissen wollte
}
}
else
{
# Hier kommt die Auswertung des Errorcodes und eine
# entsprechende Fehlermeldung hin.
}
Dieses Script muss in PHP umgeschrieben werden. Leider habe ich null Ahnung von Perl, habe mich trotzdem mal daran versucht:
PHP:
<?
# Deklaration wichtiger Einstellungen
$aid = 1; # Ihre ECS-Solution AID
$sid = 1; # Ihre ECS-Solution SID
$protocol = "https"; # Evtl. auf http stellen
$seconds = 300; # Sekunden die Trans. max alt sein darf
# Auslesen der übergebenen Parameter
$p_amount = $_REQUEST('AMOUNT');
$p_tnum = $_REQUEST('TNUM');
$p_errcode = $_REQUEST('ERRORCODE');
$p_errdesc = $_REQUEST('ERRORDESC');
$p_token = $_REQUEST('TOKEN');
# Pruefe ob Transaktion erfolgreich war
if ($p_errcode == "0")
{
# Testen wir doch mal mit dem Transval ob das
# alles so richtig ist.
# Generiere den HTTP-Request
$request_url = $protocol."://ssl.ecs-solution.de/cgi-bin/transval.cgi";
$request_url .= "?AID=".$aid."&SID=".$sid;
$request_url .= "&AMOUNT=".$p_amount."&TID=".$p_tnum;
$request_url .= "&SECONDS=".$seconds;
$request = HTTP::Request->new(GET=>$request_url);
# Schicke Requets ab und lese Ergebniss
$response = $ua->simple_request($request);
# Auslesen des zurückgelieferten Contents
$html = $response->content();
# Trenne die Rückgabe in Ihre Bestandteile auf
my($state,$timestamp) = split /;/, $html,2;
# War die Transaktion jetzt gut oder nicht ?
if ($state == "Valid")
{
# Super, alles klar, hier kommen all die schönen Dinge
}
else
{
# Sieht so aus als wenn hier jemand bescheissen wollte
}
}
else
{
# Hier kommt die Auswertung des Errorcodes und eine
# entsprechende Fehlermeldung hin.
}
?>
Ich habe noch zwei kleine Probleme mit den Zeilen:
Code:
$request = HTTP::Request->new(GET=>$request_url);
Code:
my($state,$timestamp) = split /;/, $html,2;
Wie müssen die in PHP aussehen? Und ist der Rest des Scriptes in Ordnung?
Vielen Dank schon einmal!