我试图找出如何使用php $_SESSION
值。情况是:
<iframe>
加载 products.php 在 products.php 中,表单会提交并保存以下两个值:
$ _ SESSION [“subtotal”] = $ _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;
?>
和
$_SESSION["subtotal"] = $subtotal;
$_SESSION["tax"] = $tax;
echo $_SESSION["subtotal"];
echo $_SESSION["tax"];
echo $subtotal;
echo $tax;
?>
和
$subtotal = $new_subtotal;
$tax = $new_tax;
echo $new_tax;
echo $new_subtotal;
?>
所有人都看不到$_SESSION
- <iframe>
更改后价值是否会丢失?
我在 products.php 页面上使用了以下代码来确认会话是否已成功创建 - 它们是:
echo $_SESSION["subtotal"]." stored in session <br />";
echo $_SESSION["tax"]." stored in session <br />";
备注:
答案 0 :(得分:0)
使用类似的东西:
products.php
<?php
session_start();
$_SESSION['myValue']=$_GET['YourFormElement'];
//or
$_SESSION['myValue']=3; // You can set the value however you like.
?>
任何其他PHP页面:
<?php
session_start();
echo $_SESSION['myValue'];
?>
要记住的一些注意事项:你需要在任何输出,HTML,回声 - 甚至空白之前调用session_start()。
您可以继续更改会话中的值 - 但它只能在第一页之后使用 - 这意味着如果您在第1页中设置它,则在转到另一页之前将无法使用它或刷新页面。
变量本身的设置可以通过多种方式之一完成:
$_SESSION['myValue']=1;
$_SESSION['myValue']=$var;
$_SESSION['myValue']=$_GET['YourFormElement'];
如果您想在获得潜在错误之前检查变量是否已设置,请使用以下内容:
if(!empty($_SESSION['myValue'])
{
echo $_SESSION['myValue'];
}
else
{
echo "Session not set yet.";
}
答案 1 :(得分:0)
我通过在iframe中添加$ _SESSION并在iframe中使用的文件中执行了一次我使用$ _SESSION $ _GET。
我不确定100%,但它应该如下:
$session = $_SESSION['session'];
<iframe src="somePage.php?s=<?php echo $session; ?>"></iframe>
somePage.php
if(isset($_GET['s'])){
$session = $_GET['s'];
}