извлечение данных из php SESSION var - PullRequest
0 голосов
/ 28 августа 2018

У меня в коде довольно сложные данные SESSION, которые содержат переменные и данные json. То, что я хотел бы знать, это как вывести конкретную запись "имя". Он должен вернуть «Джона Смита», но в настоящее время он ничего не возвращает

пс. Я должен был сказать, что это НЕ мой код, это плагин WordPress, и я просто хочу получить данные, которые они предоставили в SESSION var.

Я пробовал

print_r($_SESSION['asp_data']->source->name);
print_r($_SESSION['asp_data']['source']->name);
print_r($_SESSION['asp_data']['source']['name'];

и другие вариации вышеперечисленного ..

вот var_dump из _SESSION

Array ( [asp_data] => Array ( [product_id] => 73134 [is_live] => 0 [item_name] => IQ Test [stripeToken] => tok_1D42CiLqRQ0yhU0NoaKBXisf [stripeTokenType] => card [stripeEmail] => spam@spammer.com [item_quantity] => 1 [item_price] => 19.99 [discount_item_price] => 19.99 [paid_amount] => 19.99 [amount_in_cents] => 1999 [currency_code] => USD [charge_description] => 1 X $19.99 [addonName] => [button_key] => [charge] => Stripe\Charge JSON: { "id": "ch_1D42CmLqRQ0yhU0NT3f0Zr4N", "object": "charge", "amount": 1999, "amount_refunded": 0, "application": null, "application_fee": null, "balance_transaction": "txn_1D42CmLqRQ0yhU0NHwqH2M9Y", "captured": true, "created": 1535443540, "currency": "usd", "customer": null, "description": "1 X $19.99", "destination": null, "dispute": null, "failure_code": null, "failure_message": null, "fraud_details": [], "invoice": null, "livemode": false, "metadata": [], "on_behalf_of": null, "order": null, "outcome": { "network_status": "approved_by_network", "reason": null, "risk_level": "normal", "seller_message": "Payment complete.", "type": "authorized" }, "paid": true, "receipt_email": "spam@spammer.com", "receipt_number": null, "refunded": false, "refunds": { "object": "list", "data": [], "has_more": false, "total_count": 0, "url": "\/v1\/charges\/ch_1D42CmLqRQ0yhU0NT3f0Zr4N\/refunds" }, "review": null, "shipping": null, "source": { "id": "card_1D42CiLqRQ0yhU0NeYtNArFt", "object": "card", "address_city": "London", "address_country": "United Kingdom", "address_line1": "Whitacres Road", "address_line1_check": "pass", "address_line2": null, "address_state": "SCT", "address_zip": "NW1 4DJ", "address_zip_check": "pass", "brand": "Visa", "country": "US", "customer": null, "cvc_check": "pass", "dynamic_last4": null, "exp_month": 2, "exp_year": 2022, "fingerprint": "AROHy31e67u0TucD", "funding": "credit", "last4": "4242", "metadata": [], "name": "John Smith", "tokenization_method": null }, "source_transfer": null, "statement_descriptor": null, "status": "succeeded", "transfer_group": null } [txn_id] => ch_1D42CmLqRQ0yhU0NT3f0Zr4N [billing_address] => John Smith Whitacres Road NW1 4DJ London SCT United Kingdom [shipping_address] => [additional_items] => Array ( ) [order_post_id] => 73150 [item_url] => [charge_date_raw] => 1535443540 [charge_date] => 2018/08/28 08:05:40 ) [score] => 91 )

здесь вывод FOR EACH для переменной _SESSION -

product_id 73134
is_live 0
item_name IQ Test
stripeToken tok_1D42CiLqRQ0yhU0NoaKBXisf
stripeTokenType card
stripeEmail spam@spammer.com
item_quantity 1
item_price 19.99
discount_item_price 19.99
paid_amount 19.99
amount_in_cents 1999
currency_code USD
charge_description 1 X $19.99
addonName 
button_key 
charge Stripe\Charge JSON: { "id": "ch_1D42CmLqRQ0yhU0NT3f0Zr4N", "object": 
"charge", "amount": 1999, "amount_refunded": 0, "application": null, 
"application_fee": null, "balance_transaction": 
"txn_1D42CmLqRQ0yhU0NHwqH2M9Y", "captured": true, "created": 1535443540, 
"currency": "usd", "customer": null, "description": "1 X $19.99", 
"destination": null, "dispute": null, "failure_code": null, 
"failure_message": null, "fraud_details": [], "invoice": null, "livemode": 
false, "metadata": [], "on_behalf_of": null, "order": null, "outcome": { 
"network_status": "approved_by_network", "reason": null, "risk_level": 
"normal", "seller_message": "Payment complete.", "type": "authorized" }, 
"paid": true, "receipt_email": "spam@spammer.com", "receipt_number": null, 
"refunded": false, "refunds": { "object": "list", "data": [], "has_more": 
false, "total_count": 0, "url": 
"\/v1\/charges\/ch_1D42CmLqRQ0yhU0NT3f0Zr4N\/refunds" }, "review": null, 
"shipping": null, "source": { "id": "card_1D42CiLqRQ0yhU0NeYtNArFt", 
"object": "card", "address_city": "London", "address_country": "United 
Kingdom", "address_line1": "Whitacres Road", "address_line1_check": "pass", 
"address_line2": null, "address_state": "SCT", "address_zip": "NW1 4DJ", 
"address_zip_check": "pass", "brand": "Visa", "country": "US", "customer": 
null, "cvc_check": "pass", "dynamic_last4": null, "exp_month": 2, 
"exp_year": 2022, "fingerprint": "AROHy31e67u0TucD", "funding": "credit", 
"last4": "4242", "metadata": [], "name": "John Smith", 
"tokenization_method": null }, "source_transfer": null, 
"statement_descriptor": null, "status": "succeeded", "transfer_group": null 
}
txn_id ch_1D42CmLqRQ0yhU0NT3f0Zr4N
billing_address John Smith Whitacres Road NW1 4DJ London SCT United Kingdom 
shipping_address 
additional_items Array
order_post_id 73150
item_url 
charge_date_raw 1535443540
charge_date 2018/08/28 08:05:40

1 Ответ

0 голосов
/ 28 августа 2018

Вам необходимо сначала проанализировать объект json, прежде чем вы сможете прочитать его с помощью php, например:

// parse the json string value of the 'charge' key to make it a php array
$json = json_decode($_SESSION['asp_data']['charge'], true);
// echo the value of the 'name' key from the parsed json object
echo $json['source']['name'];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...