【问题标题】:Passing a session between two html pages在两个 html 页面之间传递会话
【发布时间】:2019-08-10 17:28:35
【问题描述】:

我正在尝试在两个 html 页面之间传递会话,

$row=mysqli_fetch_assoc($result);
$sname = $row["SP_Name"];
$sname = ucfirst($sname);
$sprice1 = $row["SP_Price1"];
$sprice1 = ucfirst($sprice1);
$_SESSION["sprice1"] = $sprice1;
echo "<tr><td>".'<a  class="btn btn-success" href="pym.html" value="$sprice1">'.$row["SP_Price1"].'</a>'."</tr></td>";

在第二页中,我尝试将此值用于 js:

<script type="text/javascript">
  var temp = "<?php session_start(); echo($_SESSION['sprice1']); ?>";
  var price = temp;

  var gst = .18;
  var k = Number(price)*Number(gst);
  var total = Number(price)+Number(k)
  document.getElementById("gstprice").innerHTML =k.toFixed(1);
  document.getElementById("total").innerHTML =total.toFixed(1);
  document.getElementById("sprice").innerHTML = price;
</script>

但值没有传递,var Price 为空

【问题讨论】:

  • 你没有在首页调用session_start()
  • 为什么使用html页面?你不能把它们重命名为 .php 吗?和 start_session() 在每一页上,你就完成了吗?
  • 您也需要在第一页的代码中调用 session_start()。
  • 现在,我已经调用了它,但它仍然是一样的,我已将文件重命名为 ,php,但这也不起作用。我试过命令 在 JS 之外,它正在工作
  • 通过把你的 insdie 双引号放在第二页,PHP 不会执行那些脚本,删除那些双引号。

标签: javascript php html session


【解决方案1】:

在您使用session['name'];标签的每个页面开始会话

<?php
session_start();

$row=mysqli_fetch_assoc($result);
$sname = $row["SP_Name"];
$sname = ucfirst($sname);
$sprice1 = $row["SP_Price1"];
$sprice1 = ucfirst($sprice1);
$_SESSION["sprice1"] = $sprice1;
echo "<tr><td>".'<a  class="btn btn-success" href="pym.html" value="$sprice1">'.$row["SP_Price1"].'</a>'."</tr></td>";
?>

html 页面

<?php session_start(); ?> 
<html>
//
//
</html>

【讨论】:

  • 谢谢!现在当我通过 在 HTML 中它正在工作,但在 JS 中没有提取数据
  • &lt;script type="text/javascript"&gt; &lt;?php echo 'var msg = "'.json_encode($_SESSION['msg']).'";'; &lt;/script&gt;
猜你喜欢
  • 1970-01-01
  • 2011-07-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-09-28
相关资源
最近更新 更多