Я использую IPN от PayPal, это то, как я отправить данные в PayPal:Php/PDO заявление дает "0"
require_once 'classes/Crypt.php';
$crypt = new Crypt();
$crypt->Mode = Crypt::MODE_HEX;
$crypt->Key = '§$TERGERG§$T§34t';
$test = array('cmd'=>'_xclick',
'business'=>'meine_email',
'notify_url'=> 'url_zum_ipn',
'item_name'=>'name',
'amount'=>'1.00',
'currency_code'=>'USD',
'lc'=>'US',
'custom'=>$crypt->encrypt(serialize(array("username" => $username))));
$url = "https://www.sandbox.paypal.com/cgi-bin/webscr?".http_build_query($test);
header("Location:".$url);
exit();
это, как я обрабатывать данные в моем IPN сценарий:
require_once '../classes/Crypt.php';
$crypt = new Crypt();
$crypt->Mode = Crypt::MODE_HEX;
$crypt->Key = '§$TERGERG§$T§34t';
$custom = unserialize($crypt->decrypt($_POST["custom"]));
$username = $custom['username'];
try
{
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $dbh->prepare("INSERT INTO products (product_name)
VALUES (?)");
$stmt->bindParam(1, $value1);
$value1 = $username;
$stmt->execute();
}
catch(PDOException $exception)
{
$body .= "Error: " . $exception->getMessage() . "\n";
}
Там нет вставки в моей таблице, но это сообщение:
Error: SQLSTATE[23000]: Integrity constraint violation: 1048 Column
'product_name' cannot be null
проверить, если переменная $ имя пользователя будет отправить в начале, это! Но когда я проверить переменную $ имя в IPN-скрипт с этим:
if($username == "") { // gives true
Так кто-нибудь знает, где мой неверный код? Привет!
отформатируйте ваш код –