【问题标题】:Passing PHP Variable From One Dynamic Page to Another将 PHP 变量从一个动态页面传递到另一个动态页面
【发布时间】:2012-12-18 07:30:16
【问题描述】:

我正在尝试使用 SESSION 将一些变量从一个 PHP 页面传递到下一个页面。

第一页包含此代码,用户点击提交后,进入第二页:

<!--SESSIONS TO PASS ON VARIABLES-->
<?php $_SESSION['file'] = $file; ?>
<?php $_SESSION['linecount'] = $linecount; ?>
<?php $_SESSION['priceperpost'] = $priceperpost; ?>
<?php $_SESSION['totalcost'] = $totalcost; ?>
<!--//SESSIONS TO PASS ON VARIABLES-->

这就是我在提交表单后在下一页,第 2 页上看到的内容:

<!--VARIABLES FROM PREVIOUS PAGE-->
<?php $file = $_SESSION['file']; ?>
<?php $linecount = $_SESSION['linecount']; ?>
<?php $priceperpost = $_SESSION['priceperpost']; ?>
<?php $totalcost = $_SESSION['totalcost']; ?>
<!--//VARIABLES FROM PREVIOUS PAGE-->  

但它没有得到代码,因为我试图在第 2 页上回显变量:

  <u>Number of Posts:</u> <?php echo ($linecount); ?><br>
  <br>
  <u>Price Per Post:</u> $<?php echo ($priceperpost); ?> <br>
  <u>Total Cost:</u> $<?php echo ($totalcost); ?><br>
  <br>

请帮忙,因为我不知道我做错了什么,任何帮助将不胜感激。

是的,我也调用了 session_start

这是更新后的代码:

 <?php 
session_start(); 
$_SESSION['file'] = $file;
$_SESSION['linecount'] = $linecount;
$_SESSION['priceperpost'] = $priceperpost;
$_SESSION['totalcost'] = $totalcost; 
?>

在下一页

<?php
session_start();
$file = $_SESSION['file'];
$linecount = $_SESSION['linecount'];
$priceperpost = $_SESSION['priceperpost'];
$totalcost = $_SESSION['totalcost']; 
?>

【问题讨论】:

  • 你调用过 session_start() 吗?
  • 如果您在文件顶部调用了 session_start(),在 html 之前仍然存在问题,请告诉我们您是否收到任何错误或通知?
  • 在第一页,$file、$linecount 等的值在哪里形成?

标签: php session variables session-variables


【解决方案1】:

您确定您的变量已设置,即 $totalcost?对您的代码的评论。除非,您正在进出 PHP 和 HTML,否则您不需要在每一行都打开和关闭 PHP。

这可以重写:

<!--SESSIONS TO PASS ON VARIABLES-->
<?php $_SESSION['file'] = $file; ?>
<?php $_SESSION['linecount'] = $linecount; ?>
<?php $_SESSION['priceperpost'] = $priceperpost; ?>
<?php $_SESSION['totalcost'] = $totalcost; ?>
<!--//SESSIONS TO PASS ON VARIABLES-->

作为:

<?php
// SESSIONS TO PASS ON VARIABLES
session_start();
$_SESSION['file'] = $file;
$_SESSION['linecount'] = $linecount;
$_SESSION['priceperpost'] = $priceperpost;
$_SESSION['totalcost'] = $totalcost; 
// SESSIONS TO PASS ON VARIABLES
?>

【讨论】:

    【解决方案2】:

    确保在创建变量和回调它们之前启动会话:

    session_start();
    

    【讨论】:

    • 是的,我已经调用了 session_start,正如我在问题中所做的编辑所看到的那样
    • 您在 error_log 中看到任何错误吗?如果是的话,你能把它们贴在这里吗
    猜你喜欢
    • 2015-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-06
    • 1970-01-01
    • 2018-10-29
    相关资源
    最近更新 更多