PHP-Entwicklung
Posts 1-8 of 8
-
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.- 21 Jul 2009, 11:16 am
-
Martin Schäpker Premium MemberThe 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.- 21 Jul 2009, 11:44 am
-
Murat Purc Premium Member Group moderatorThe 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
- 21 Jul 2009, 11:55 am
-
Christof HurstThe company name is only visible to registered members.Re^2: fsockopen vs. PayPal
Zudem würde beim foreach ne Klammerung fehlen ;-)
- 21 Jul 2009, 11:57 am
-
Martin Schäpker Premium MemberThe 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.- 21 Jul 2009, 12:07 pm
-
Tobias Krämer(not a XING member)Re: fsockopen vs. PayPal
dankö - ty
- 21 Jul 2009, 12:16 pm
-
Ulf KirstenThe 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).
- 21 Jul 2009, 1:12 pm
-
Stefan Priebsch Premium MemberThe 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
- 22 Jul 2009, 3:07 pm
