我有一个关于在用户登录的页面上使用paypal的问题
用php
如果PayPal重定向回该页面,您如何才能让用户仍然获得该页面的授权。
我读到了一些关于使用PDT将session_id提供给自定义变量的内容 如果您有多个会话变量,那该怎么办?您还可以将数组传递给自定义变量吗?
如何完成,编码
任何见解都很好
修改
PDT自定义变量只是一些自我发明的名称,你坚持在后面 其他义务变量。
像这样:$ req =“tx = $ tx& at = $ token& cmd = $ cmd”;
$ req。=“& somevariablename =”。session_id();
谢谢,理查德答案 0 :(得分:2)
如果我理解正确的话:
您可以使用Cookie,但它们不是故障安全的,因为用户可能会将其禁用。
一种可能的方法是创建一个唯一的标识字符串,将其发送到paypal,以便将它们重定向到带有字符串的自定义URL。在该页面中,您对其进行验证,并授权用户。
答案 1 :(得分:2)
只需将当前会话ID(使用$ id = session_id();)传递给PayPal,一旦获得用户,并且会话ID,从Paypal返回,只需将会话ID设置为Paypal发送给您的一个使用session_id($ idPaypalSent);
答案 2 :(得分:2)
可能是我错过了什么。
因此,您的用户登录..点击立即购买按钮或其他任何内容并转到paypal网站,完成后返回到您的网站位于用户区域内的页面。
这应该无缝地工作,而不必做任何事情。除非用户在paypal网站上花费太多时间,并且在服务器上达到会话到期时间,或者用户关闭浏览器并直接进入您的PayPal支付页面。
会话将保持活动状态,只要会话超时允许,用户就可以无缝地在您的站点和其他站点之间来回移动。
答案 3 :(得分:1)
对于提出一个旧问题我表示歉意,但今天早上我遇到了这个问题。
原来我忘记了session_start();卫生署!
在我在返回(订单确认)页面上完成后,结果证明我的会话一直很好 - 它只是没有在该特定页面上启动。
希望这有助于某人
echo 'session var:'.$_SESSION['var'];
if (!isset($_SESSION))
{
session_start();
}
echo 'session var again:'.$_SESSION['var'];
答案 4 :(得分:0)
您有一个错误的会话ID概念:会话ID不仅仅是另一个会话变量,而是会话的ID,因此您可以将用户分配给会话变量。您可以通过$sess_id = session_id();
获取会话ID,并将其作为"&ppsessid=" . $sessid
附加到自定义返回变量。然后,您可以通过session_id($_GET['ppsessid']);
设置会话ID。