人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

paypalとPHP5で決済システムを作っていてハマっています。
PDTとIPN処理はサンプルコードでは無事動作を確認しましたが、IPN処理でDBを更新させようと自サイトにログイン中のメンバーIDを取得したいのですがなかなか取得してくれません。
バックエンドでの処理は初めてなのでかなり手間取っています。


1.$arr_data= $auth->getAuthData();
2.$id= $arr_data['id'];
3.$id= $_SESSION['member_data']['id'];
4.$id= "999";
5.$id= 999;


$idにメンバーIDを取得したいのですが、4.と5.は当然ですがDB更新が行われます。
しかし、1.2.の組み合わせや、3.では取得できません。
1.2.3.は他のルーチンでの取得を確認したり、また、ブラウザにprint()で$idを出力してみるのですが値はいづれも正常です。
バックエンドでは、$_SESSIONやpearのauthは無効になるのでしょうか?
疲れました。
よろしくお願いします。

●質問者: seadwell
●カテゴリ:ウェブ制作
✍キーワード:dB Paypal PDT Pear print
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● pretaroe
●35ポイント

バックエンドの具体的なことがわかりませんが

質問の例だと、セッションが別になっているため取得できないと思われます。

バックエンドを起動するときの引数などに、読みたい値を引き渡すなどするとよいでしょう。

>ブラウザにprint()で$idを出力してみるのですが値はいづれも

バックエンドでセッションを取得するときと、ブラウザで取得するときとは条件が違うのでは?

バックエンドの処理において、$_SESSION['member_data']['id']の値をファイルに出力するなりして

本当に値が取れているのか確認してください。

◎質問者からの返答

> バックエンドの具体的なことがわかりませんが

ですよね。

これっぽっちの質問では。

いろいろ推察いただきありがとうございます。

> バックエンドを起動するときの引数などに、読みたい値を引き渡す

$_SESSIONなどにこだわらず、他の方法も試してみます。

ありがとうございました。


2 ● あすか
●35ポイント

「バックエンド」の位置づけがどうなっているのかわかりませんが、クライアントから取得した$authや$_SESSIONを「バックエンド」に引き継いでいますか?

ご確認ください。

◎質問者からの返答

IPN処理かつ、バッチでは処理を一行ずつ検証できない(する方法を知らない)ので苦戦しています。

$authはメインルーチンで取得した後、引数で使いまわしています。

$_SESSIONは一度セットすれば破棄しない限りどこでも取得できると思っていました。

$authや$_SESSIONにこだわらず、視野を広げてみます。

ありがとうございました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ