PHP-Entwicklung

PHP-Entwicklung

Posts 1-8 of 8
  • User photo
    Tobias Krämer
    (not a XING member)
    fsockopen vs. PayPal
    Hallo,

    irgendwie funktioniert das noch nicht so wie ich will deswegen will ich das mal von einem Experten kurz abgeprüft haben und würde mich über Feedback sehr freuen. Denn sichlicher kennt man das wenn man nicht weiter kommt...

    So ist mein Code (keine produktivumgebung):
    $req = "cmd=_notify-validate";
    $sys = "tx=".strip_tags($_GET[tx])."";
    $sys .= "at=händlertoken";

    foreach($sys as $key=>$value)
    $req .= sprintf('&%s=%s', urlencode($key), urlencode($value));
    $header = 'POST /cgi-bin/webscr HTTP/1.0' . "\r\n";
    $header .= 'Content-Type: application/x-www-form-urlencoded' . "\r\n";
    $header .= 'Content-Length: ' . strlen($req) . "\r\n\r\n";

    $fp = fsockopen ('ssl://http://www.paypal.com', 443, $errno, $errstr, 30);

    if ($fp) {
    fputs($fp, $header . $req);
    while (!feof($fp)) {
    $res = fgets ($fp, 1024);
    echo $res;

    if ((trim($res) == 'SUCCESS')) {
    echo "ok"; }
    fclose ($fp);
    }
    This post was modified on 21 Jul 2009 at 11:18 am.
  • Martin Schäpker
    Martin Schäpker    Premium Member
    The company name is only visible to registered members.
    Re: fsockopen vs. PayPal
    Tobias Krämer schrieb:
    Hallo,
     
    irgendwie funktioniert das noch nicht so wie ich will deswegen will ich das mal von einem Experten kurz abgeprüft haben und würde mich über Feedback sehr freuen. Denn sichlicher kennt man das wenn man nicht weiter kommt...
     
    So ist mein Code (keine produktivumgebung):
    $req = "cmd=_notify-validate";
    $sys = "tx=".strip_tags($_GET[tx])."";
    $sys['tx']=strip_tags($_GET[tx]);
    $sys .= "at=händlertoken"; $sys['at']='händlertoken';


    foreach funzt nur mit arrays......
    du solltest eigendlich so eine Fehlermeldung erhalten " Invalid argument supplied for foreach()"

    foreach($sys as $key=>$value)
    $req .= sprintf('&%s=%s', urlencode($key), urlencode($value));
    $header = 'POST /cgi-bin/webscr HTTP/1.0' . "\r\n";
    $header .= 'Content-Type: application/x-www-form-urlencoded' . "\r\n";
    $header .= 'Content-Length: ' . strlen($req) . "\r\n\r\n";
     
    $fp = fsockopen ('ssl://http://www.paypal.com', 443, $errno, $errstr, 30);
     
    if ($fp) {
    fputs($fp, $header . $req);
    while (!feof($fp)) {
    $res = fgets ($fp, 1024);
    echo $res;
     
    if ((trim($res) == 'SUCCESS')) {
    echo "ok"; }
    fclose ($fp);
    }

    hier mal eine Übersicht über die (auch wenns oft übersehen wird) vorhanden Variablen Typen in PHP

    http://de.wikibooks.org/wiki/Websiteentwicklung:_PHP:_Variab...
    This post was modified on 21 Jul 2009 at 11:57 am.
  • Murat Purc
    Murat Purc    Premium Member   Group moderator
    The company name is only visible to registered members.
    Re: fsockopen vs. PayPal
    Hallo,

    was steht denn in der Variable $errstr drin, und ist PHP mit OpenSSL-Unterstützung kompiliert worden?

    Gruß
    Murat Purc
  • Christof Hurst
    Christof Hurst
    The company name is only visible to registered members.
    Re^2: fsockopen vs. PayPal
    Zudem würde beim foreach ne Klammerung fehlen ;-)
  • Martin Schäpker
    Martin Schäpker    Premium Member
    The company name is only visible to registered members.
    Re^3: fsockopen vs. PayPal
    kleiner tipp für die entwicklung setzt das error reporting hoch, das erleichtert das arbeiten ungemein.

    da es sich ja wohl um deine lokale umgebung handelt musst in der php.ini die einstellung

    error_reporting = E_ALL

    und die einstellung

    display_errors=1

    setzen
    This post was modified on 21 Jul 2009 at 12:08 pm.
  • User photo
    Tobias Krämer
    (not a XING member)
  • Ulf Kirsten
    Ulf Kirsten
    The company name is only visible to registered members.
    Re^4: fsockopen vs. PayPal
    Martin Schäpker schrieb:
     
    da es sich ja wohl um deine lokale umgebung handelt musst in der php.ini die einstellung
    error_reporting = E_ALL


    Noch eine kurze Anmerkung dazu. Am Besten bei der lokalen Entwicklung das Error-Reporting auf "error_reporting(E_ALL | E_STRICT)" setzen, da E_STRICT noch nicht Bestandteil von E_ALL ist (ändert sich aber mit PHP6).
  • Stefan Priebsch
    Stefan Priebsch    Premium Member
    The company name is only visible to registered members.
    Re^5: fsockopen vs. PayPal
    Ulf Kirsten schrieb:
    Noch eine kurze Anmerkung dazu. Am Besten bei der lokalen Entwicklung das Error-Reporting auf "error_reporting(E_ALL | E_STRICT)" setzen, da E_STRICT noch nicht Bestandteil von E_ALL ist (ändert sich aber mit PHP6).
    E_STRICT zur Laufzeit mit error_reporting() zu setzen, bringt leider nicht wirklich was, weil E_STRICT-Fehler bereits zur Übersetzungszeit generiert und ausgegeben werden. Man muss daher E_ALL | E_STRICT bereits in der php.ini konfigurieren, ansonsten kann man sich nicht der E_STRICT-Fehlern erfreuen.

    Stefan
    http://thePHP.cc