0

最初のページは url から値を取得し、いくつかのコンテンツを表示する 2 つのページを使用しています。最初のページを 2 ページ目に含めましたが、最初のページは表示されるべきではありませんが、最初のページで使用される 2 番目のページの値にアクセスする必要があります。最初のページのコーディング

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;
?>

値は 2 ページ目に表示されません。2 ページ目の値にアクセスする方法を教えてください。Plsは私を助けてくれますありがとう!!!

4

3 に答える 3

0

ページ内で GET によって設定された値を 2 ページ目に渡そうとしていますね。代わりにセッションを使用してみてはどうでしょうか。

セッションを開始し、ブラウザが開いていてセッションが存続している限り保存される値を定義できます。そう:

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 に答える
0

PHP のデータに「一般的に」アクセスするための最良の方法 (小さくて実体のないスニペットを除く) は、カプセル化を使用することです。これらの値をオブジェクトに入れることができます。次に、sec.php でそれらにアクセスできるようになります。

first.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();
?>

sec.php:

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

削除ob_end_clean();して、それが解決することを確認してください。

ob_end_clean — 出力バッファを消去 (消去) し、出力バッファリングをオフにします

もっと

sec.php

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

上記のコードを試して、エラーが返されるかどうかを確認してください。

于 2013-02-25T08:13:13.473 に答える