0

我使用两页第一页从 url 获取值并显示一些内容。我在第二页中包含了第一页,但不应显示第一页,但我必须访问第一页中使用的第二页中的值。第一页的编码

first.php

在 utl 中,值作为 first.php?Logid=7773&shiftdate=2013-01-04&shiftid=146&pshift=1&tsid=1&dctype=timebased 传递

<?php 
$Logid=$_GET['Logid'];
$ShiftDate=$_GET['shiftdate'];
$ShiftID=$_GET['shiftid'];
$PShift=$_GET['pshift'];
$TsID=$_GET['tsid'];
$DcType=$_GET['dctype'];

// below this some process is carried out


sec.php

<?php
ob_start();
include('first.php');
ob_end_clean();

echo $Logid;
echo $ShiftDate;
echo $ShiftID;
echo $PShift;
echo $TsID;
echo $DcType;
?>

该值未显示在第二页中。说我如何访问第二页中的值。请帮助我谢谢你!

4

3 回答 3

0

删除ob_end_clean();,看看会解决它。

ob_end_clean — 清理(擦除)输出缓冲区并关闭输出缓冲

更多的

秒.php

<?php
   error_reporting(E_ALL);
   ini_set("display_errors", 1);
   include("first.php");
?>

试试上面的代码,看看它是否返回任何错误。

于 2013-02-25T08:13:13.473 回答
0

在 PHP 中“一般”访问数据的最佳方式(除了小的、非实质性的片段)是通过封装。您可以将这些值放入对象中。然后,您将能够在 sec.php 上访问它们:

第一个.php:

<?php
class pageData {

  public $Logid;
  public $ShiftDate;
  public $ShiftID;
  public $PShift;
  public $TsID;
  public $DcType;

  public function __construct() {
    $this->Logid = $_GET['Logid'];
    $this->ShiftDate = $_GET['shiftdate'];
    $this->ShiftID = $_GET['shiftid'];
    $this->PShift = $_GET['pshift'];
    $this->TsID = $_GET['tsid'];
    $this->DcType = $_GET['dctype'];
  }
}
$pageData = new pageData();
?>

秒.php:

<?php
include('first.php');
echo $pageData->Logid;
// ...
echo $pageData->DcType;
?>
于 2013-02-25T08:14:32.767 回答
0

您正在尝试将页面中 GET 设置的值传递到第二页,对吗?尝试使用会话如何。

您可以启动一个会话并定义只要浏览器打开并且会话仍然存在,这些值就会被存储。所以:

first.php

<?php

// Starting the session 
session_start(); 

$_SESSION['Logid'] = $_GET['Logid'];
$_SESSION['ShiftDate'] = $_GET['shiftdate'];
$_SESSION['ShiftID'] = $_GET['shiftid'];
$_SESSION['PShift'] = $_GET['pshift'];
$_SESSION['TsID'] = $_GET['tsid'];
$_SESSION['DcType'] = $_GET['dctype'];

?>


sec.php

<?php

echo $_SESSION['Logid'];
echo $_SESSION['ShiftDate'];
echo $_SESSION['ShiftID'];
echo $_SESSION['PShift'];
echo $_SESSION['TsID'];
echo $_SESSION['DcType'];

?>

并使用

session_unset();
session_destroy();

终止会话并销毁全局变量 ($_SESSION) 中的数据。如果您想格外小心,可以使用:

session_unset();
session_destroy();
session_write_close();
setcookie(session_name(),'',0,'/');
session_regenerate_id(true);

确保一切都被真正摧毁。如果你问我有点矫枉过正,但在必要时使用。

希望能帮助到你!

于 2013-02-25T09:27:54.390 回答