【问题标题】:Pass url variable on to next page?将 url 变量传递到下一页?
【发布时间】:2013-09-14 19:12:45
【问题描述】:

在将 url php 变量传递到下一页时,我需要一些帮助。我已经尝试在整个网站上搜索以寻求帮助,但我花了很多时间试图解决这个问题,但没有运气。基本上我需要能够使用第 1 页中的 url 变量更改第 2 页上的 paypal 链接按钮 ID。

变量最初与 URL 一起传递:http://www.example.com?p=paypalbuttonid 我想存储该“p”变量并将其传递到下一页。我不想通过链接将变量传递到第 2 页。我更愿意存储变量并在第 2 页调用它。

第 1 页代码(html 上方):

<?php
    session_start();
    $_SESSION['paypal'] = $_GET['p'];
?>

第 2 页代码(html 上方):

<?php
    session_start();
    $p = $_SESSION['paypal'];
?>

我在第 2 页(正文)的链接中调用变量:

<a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=<?php echo $p ;?>" target="_blank" class="btn">

我不确定我做错了什么,但我是 PHP 的新手,所以请帮忙!该变量在第 2 页的 URL 中显示为空白。谢谢! - 乍得

【问题讨论】:

  • 我需要根据 url 中的 id 更改 paypal id。其他人需要将 paypal id 更改为自己的。
  • 我复制了你的代码,htis 对我来说很好。
  • 您的代码运行良好。确保会话选项设置正确。
  • 当您使用print_r($_SESSION); 打印出$_SESSION 时会发生什么?

标签: php session variables


【解决方案1】:

首先,您应该确保在 session_start() 之前没有任何输出,将 session_start() 放在页面顶部是安全的,特别是如果您在 .html 中使用 php 代码,因为您可能没有输出如果您在 session_start() 之前有任何输出到浏览器,则会话将无法工作

根据php.net:

要使用基于 cookie 的会话,必须在向浏览器输出任何内容之前调用 session_start()。

并且您应该检查您的 cookie 是否已启用。

其次,var_dump ($_SESSION);看看你能不能得到什么

【讨论】:

  • 除此之外,你应该使用 isset ($_GET['p']) 来测试,这样它就不会产生任何电子警告
  • 请在第二部分添加更多内容。对于学习的人来说,他们可能不明白你为什么要这样做,或者在哪里这样做。
猜你喜欢
  • 2010-10-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-16
  • 1970-01-01
  • 2015-12-02
  • 1970-01-01
相关资源
最近更新 更多