2012-10-08 38 views
3

我在兩個頁面之間有不一致。PHP正在轉儲變量,我需要能夠在變量中看到原始數據,而無需HTML呈現呈現任何可能在其中的內容。沒有任何HTML呈現的顯示頁面

帖子呈現的版本是100%相同的,但是當我使用字符串和hash_hmac時,它們會得到不同的結果哈希值。

有沒有什麼辦法可以轉儲這些字符串並查看原始數據?

+2

您可以通過在頁面頂部添加header('Content-type:text/plain');'來避免瀏覽器呈現頁面。 –

+0

[顯示沒有HTML標記的文本]的可能重複(http:/ /stackoverflow.com/questions/7117404/display-text-without-html-markup) – Baba

回答

1

這是行不通的,我試過了。我正在製作亞馬遜FPS系統,簽名無效,因爲他們在提交簽名請求時很難提供新行。我建立的系統有空間。發佈後,我將結果轉儲到數據庫中,並在數據庫中聲明它有換行符。

回答:取出字符串並將它們轉儲到數據庫中。然後使用數據庫查看差異。這是我發現解決我的問題的唯一方法。

+2

請僅使用* Post answer *按鈕才能得到實際答案。您應該修改原始問題以添加其他信息。 – vascowhite

+0

這是我的問題的實際答案。如果某人將相同問題轉儲到數據庫是一個可行的解決方案。 – Iscariot

+0

對不起,我沒有意識到。它不像一個答案,更像一條評論。 – vascowhite

1

嘗試在PHP srip_tags功能這將srip所有標籤

使用本

header('Content-Type: text/plain'); 
1

Sevaral選項浮現在腦海中。無論是

  • 發送header('Content-Type: text/plain');
  • 或包裹轉儲<pre>元素。
  • 或者只需查看將具有原始輸出的源代碼。

您可能也有興趣xdiff

0

我用這個功能來打印數組值到屏幕上:

function PrintArray($array) 
{ 
    echo " <pre>"; 
    print_r($array); 
    echo " </pre> "; 
} 

例如,爲了獲取發佈的數據:

if ($submit) 
{ 
    if ($debug) 
    { 
    printarray($_POST); 
    } 
} 

腳本數據的其餘部分(即該ISN通過標記立即顯示)將需要在$ debug條件語句中回顯/打印到文件中。

您應該構建您的應用程序,以在任何可能發現問題的位置包含調試語句。在頁面頂部,聲明$ debug = true; (或者在不使用時將其設置爲false)。

編輯:

順便說一句,在我的環境中調試語句被關閉,如果該腳本是從生產(程序檢測)服務。它們只能在測試中顯示,並且$ debug設置爲true時。正如以下評論者所寫,您不應該顯示(或者允許通過錯誤)調試信息以顯示在生產/實時應用程序中。

將您的調試信息寫入駐留在Web根目錄下的文件會更好。

+0

你應該記錄,當然。但是不要通過在腳本頂部聲明一個變量來實現。如果這個腳本在調試的時候被直接推送,那麼你的臉上會留下一些小小的雞蛋,同時也會帶來潛在的安全風險。 –

+0

在我的環境中,如果腳本是從生產服務(以編程方式檢測到的),則關閉調試語句。它們只能在測試中顯示,並且$ debug設置爲true時。 –

+0

所以,如果你以編程方式檢測環境,爲什麼你首先有一個變量? –