Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/238.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将PHP$\u会话值传递到新页面_Php_Html - Fatal编程技术网

如何将PHP$\u会话值传递到新页面

如何将PHP$\u会话值传递到新页面,php,html,Php,Html,我正在试图弄清楚如何使用php$\u会话值。情况是: 主HTML站点有一个加载产品的。php 在products.php中,表单提交并保存以下两个值: $_SESSION[“小计”]=$_POST['SUBT'] $_SESSION[“tax”]=$_POST[“tax”] 这些工作很好,我可以回应他们没有问题(在该页面内) 此页面将products.php替换为confirmation.php 一旦进入confirmation.php,我就无法获取会话值。我尝试了以下方法: <?ph

我正在试图弄清楚如何使用php
$\u会话
值。情况是:

  • 主HTML站点有一个加载产品的
    。php
  • products.php中,表单提交并保存以下两个值:

    $_SESSION[“小计”]=$_POST['SUBT']

    $_SESSION[“tax”]=$_POST[“tax”]

  • 这些工作很好,我可以回应他们没有问题(在该页面内)

  • 此页面将products.php替换为confirmation.php

一旦进入confirmation.php,我就无法获取会话值。我尝试了以下方法:

<?php
session_start();

$_SESSION["subtotal"] = $_POST['SUBT'];
$_SESSION["tax"] = $_POST['TAX'];

echo $_SESSION["subtotal"];
echo $_SESSION["tax"];
echo $subtotal;
echo $tax;

?>
及 所有人都未能看到
$\u会话
-值是否随着
更改而丢失

我在products.php页面上使用了以下代码来确认会话已成功创建-它们是:

echo $_SESSION["subtotal"]." stored in session <br />";
echo $_SESSION["tax"]." stored in session <br />";
echo$\u会话[“小计”]。“存储在会话中
”; echo$_会话[“tax”]”存储在会话
中;
注意事项:

  • confirmation和products.php都在同一台服务器上
  • 打印(美元会话);返回空白数组
  • 会话_start()位于两页的最上方

使用类似以下内容:

if(!empty($_SESSION['myValue'])
{
    echo $_SESSION['myValue'];
}
else
{
    echo "Session not set yet.";
}
products.php

<?php
session_start();
$_SESSION['myValue']=$_GET['YourFormElement'];
//or
$_SESSION['myValue']=3; // You can set the value however you like.
?>
如果要在出现潜在错误之前检查变量是否已设置,请使用以下方法:

if(!empty($_SESSION['myValue'])
{
    echo $_SESSION['myValue'];
}
else
{
    echo "Session not set yet.";
}

我曾经这样做过,在iframe内部的url中添加了$\u会话,在iframe中使用的文件中,我使用了$\u GET的$\u会话

我不能100%确定,但它应该工作如下:

$session = $_SESSION['session'];

<iframe src="somePage.php?s=<?php echo $session; ?>"></iframe>

两个页面都在同一台服务器上吗?这里有点怪。主html站点位于我们的服务器上。第一个表单页面通过我们的服务器向PayPal发送令牌请求。他们将请求发回。现在,当用户输入CC信息时,此页面(products.php)将直接向PayPal发送令牌。不知道这是否重要。但是confirmation.php和products.php存在于同一服务器上的同一文件夹中。-希望helpson
confirmation.php
也这样做:-
您是否也开始了
product.php
上的会话?好的,我得到了一个空数组()感谢您的回答,尽管这几乎是我正在做的。我把我的一些代码和你的代码混在一起了。No results什么意思是No results当我执行简单的打印($\u会话)时,会一直得到一个空白数组();是,在新页面中,您分配了$_SESSION=$subtotal,而$subtotal在新页面上没有值,这是一个新变量,对于初始化一次的会话,它没有初始化,因此您可以在任何页面上获得值。您必须知道会话是一个关联数组,它存储在您自己的浏览器中。
$_SESSION['myValue']=1;
$_SESSION['myValue']=$var;
$_SESSION['myValue']=$_GET['YourFormElement'];
if(!empty($_SESSION['myValue'])
{
    echo $_SESSION['myValue'];
}
else
{
    echo "Session not set yet.";
}
$session = $_SESSION['session'];

<iframe src="somePage.php?s=<?php echo $session; ?>"></iframe>
if(isset($_GET['s'])){
   $session = $_GET['s'];
}