会话在一个页面中工作,但不在另一个页

时间:2017-03-31 17:16:28

标签: php image session href src

我正在使用php图表包。我从一个发送到answer.php页面的form.html开始。 answer.php创建了SESSION。然后一个必需的test.php页面选择会话,但是所需的graph.php页面没有。我无法将数据从表单传输到图表。所需的phplot.php是图形引擎,在SESSION线程中不需要。

我花了五天时间研究和测试,没有运气。我已多次切换编码。我希望拥有出色PHP经验的人能够轻松识别出来。

这三页的编码如下。

answer.php页面:

<?php
session_unset();
session_start();
require_once 'phplot/test.php';
?>
<?php
$_POST['bs_now2'];$bs_now2 = $_POST['bs_now2'];$_SESSION['bs_now2'] = $bs_now2;
echo "<div id='graph'>";
echo "<p class='martop10 f18 b'>Graph:</p>";
echo "<img src='phplot/graph.php'>";
echo "</div>";
?>
<?php
session_destroy();
?>

graph.php页面:

<?php
$Sbs_now2 == 0;
session_start();# Is this redundant? I've tried it in and out.
?>
<?php
require_once 'phplot.php';#Graph engine
$delta = 0.1;$sigma = 15;$sqrt2pi = sqrt(2*M_PI);$u = 75;
$data = array();
for ($x = 0; $x <= 150; $x++)
  $data[] = array('', $x, $Sbs_now2 + $x);
unset($Sbs_now2);
?>

test.php页面:

<?php
#I don't need the session_start() for this page
$_POST['bs_now2'];$bs_now2 = $_POST['bs_now2'];$_SESSION['bs_now2'] = $bs_now2;$Sbs_now2 = $_SESSION['bs_now2'];
echo '<b>Session BS Now: '.$Sbs_now2.'</b><br>';
?>

谢谢,

加里

2 个答案:

答案 0 :(得分:0)

首先,在每个页面中,您将使用&#34; $ _ SESSION&#34;你需要通过&#34; session_start()&#34;开始会话如果代码中没有会话启动你无法从$ _SESSION变量中获取数据,我建议使用$ _POST变量你的php会话不满并且不会导致问题

使用此:(通过$ _POST)

<?php
// passing data to the post
$_POST['data'] = "Test using Post";
// Receiving the data from the post
$data = $_POST['data'];
// to test and see if it works
echo $_POST['data']; // or echo $data

希望我帮助过

干杯

答案 1 :(得分:0)

嗨Luiz Fernando Sousa Camargo和All,

在Luiz Fernando Sousa Camargo的帮助下,我得到了它!

answer.php页面有一处变化:

<?php
session_unset();
session_start();
require_once 'phplot/test1.php';
?>
<?php
$_POST['bs_now2'];$bs_now2 = $_POST['bs_now2'];$_SESSION['bs_now2'] = $bs_now2;$Sbs_now2 = $_SESSION['bs_now2'];
echo "<div id='graph'>";
echo "<p class='martop10 f18 b'>Graph:</p>";
echo "<img src='phplot/bs4c.php?bs_now2=$Sbs_now2'>";#CHANGE:
#I set bs_now2= to the session variable(as it would come from the form input). No other changes.
echo "</div>";
?>
<?php
session_destroy();
?>

graph.php页面有一个重要的变化:

<?php
$Sbs_now2 == 0;
session_start();
$_GET['bs_now2'];$bs_now2 = $_GET['bs_now2'];$_SESSION['bs_now2'] = $bs_now2;$Sbs_now2 = $_SESSION['bs_now2'];#CHANGE
#Use GET to acquire the session variable
#Remove End php and Start php Marks(not important)
require_once 'phplot.php';
$data = array();
for ($x = 0; $x <= 150; $x++)
  $data[] = array('', $x, $Sbs_now2 + $x);
unset($Sbs_now2);
?>

谢谢Luiz Fernando Sousa Camargo和All,

加里