2013-02-25 59 views
0

中的內容使用兩頁第一頁從URL獲取值並顯示一些內容。我包括在第二頁的第一頁,但不應該被顯示的第一頁,但我有訪問其在第一頁中使用第二頁中的值.. 編碼爲第一頁如何從包含的頁面訪問值而不顯示php

first.php 

在UTL值作爲first.php?LOGID = 7773 & shiftdate = 2013年1月4日& shiftid = 146 & pshift = 1 & TSID = 1個& dctype傳遞=時基

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

值並不在第二頁面中顯示。 說我如何訪問第二頁中的值。 請幫幫我 謝謝你!

+0

將值從first.php放入會話並在sec.php中進行訪問。或者你必須遵循OOPS的proramming結構。 – 2013-02-25 08:05:59

+0

你可以給我任何示例代碼請 – velu2143 2013-02-25 08:25:36

+0

你爲什麼使用ob_函數?這將隱藏first.php中可能出現的任何錯誤,這可能會提供有用的線索。 – 2013-02-25 08:39:43

回答

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

如何在顯示第二頁時使用數值? – velu2143 2013-02-25 08:26:27

+1

由於這些屬性都是公開的,您可以使用例如$ pageData-> Logid = $ newLogid – 2013-02-25 08:34:32

+0

準確。你只要將'$ pageData-> Logid'與任何​​變量完全一樣。謝謝,馬特! – L0j1k 2013-02-25 08:44:24

0

刪除ob_end_clean();並看到將解決它。

ob_end_clean - 清潔(擦除)的輸出緩衝器並關閉輸出緩衝

More

sec.php

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

嘗試上面的代碼,看看它的返回任何錯誤。

+0

NO它不工作。第一頁是第二頁和價值顯示爲不可訪問, – velu2143 2013-02-25 08:15:54

+0

@ velu2143什麼錯誤的表現... – 2013-02-25 08:16:48

+0

沒有錯誤..值不可訪問。如果我刪除ob_end_clean()頁面顯示 – velu2143 2013-02-25 08:20:12

0

您正在試圖通過其設置的值通過GET頁面到第二頁,我是對吧?如何嘗試使用會話。

您可以啓動session並定義只要瀏覽器處於打開狀態並且會話仍處於活動狀態時將存儲的值。所以:

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

確保一切都真的被破壞。如果你問我,但必要時使用,有點矯枉過正。

希望它能幫助!

相關問題