【问题标题】:How work the session when a user buy a product form a store [duplicate]用户从商店购买产品时会话如何工作[重复]
【发布时间】:2015-11-10 20:51:01
【问题描述】:

我了解会话并很好地使用它。我知道要使用会话我应该把session_start() 放在我想使用session 的每个页面的顶部。但是我在理解一个问题时发现了一个问题。

假设我们有一家名为A 的银行,我想从它的支付网关使用它。还假设我们有一个用户,它的用户名是B,他\她想从商店购买产品。

首先,当登录操作成功时,login.php文件会从用户那里获取会话,并将$username的值保存在$_SESSION[login_user]变量中。

我们知道$_SESSION[login_user] 变量是一个全局变量。这意味着如果用户名是B,并且登录操作成功,则$_SESSION[login_user] 将获得B 值,如果我们在每个php 文件中使用$_SESSION[login_user],则@987654334 中的值@ 是B

然后考虑用户点击购买按钮,商店将用户重定向到支付网关,他/她可以成功购买产品。现在支付网关将支付信息发送到服务器。现在最大的问题是,在这里,用户没有发送请求来获取他/她的会话。在这里,来自A 银行的支付网关请求并向商店发送信息。

现在我想将购买的用户名保存在数据库中。 我不知道我该怎么办。由于没有关于这个问题的好的教程,请指导我。

【问题讨论】:

    标签: php mysql session paypal


    【解决方案1】:

    首先声明一个变量,让它等于你的会话数据,然后把它放在你的php中

    $username = $_SESSION['login_user'];
    

    然后用这个插入数据库

    INSERT INTO database (column_name) VALUES ('$username')";
    

    我不确定是否 100% 确定将引号放在会话方括号内,我看到您没有放入任何内容,但我认为您需要它们。

    【讨论】:

    • 如果我在login.php文件中使用$username = $_SESSION['login_user'];,现在当用户支付成功时,银行会向我的check.php文件发送有关交易真实性的信息。 但是这次请求来自银行而不是来自用户。如果我在check.php 文件中使用我在login.php 中使用的相同$username = $_SESSION['login_user'];,有他/她的用户名吗在$username = $_SESSION['login_user']; 文件中的check.php 中?之所以产生这种疑问,是因为check.php 是从银行而不是用户那里获取请求的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-10
    • 1970-01-01
    • 2020-10-03
    • 2020-08-16
    • 1970-01-01
    相关资源
    最近更新 更多