Perl in PHP umschreiben. Kurze Nachfrage.

Spakkn

Mitglied
Hallo Leute.

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);
und
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!
 
Fuer den split-Teil solltest Du Dir mal die Doku zu explode anschauen. Fuer den anderen Teil machst Du am besten ein fsockopen oder schaust mal bei PEAR ob es eine entsprechende Klasse gibt...
 

Neue Beiträge

Zurück