2013-01-11 223 views
-1

是否有可能讀取負載上的值? 我懷疑沒有。讀取輸入類型隱藏值

<!DOCTYPE html> 
<html> 
    <head> 
     <title>Some test</title> 
    </head> 
    <body> 
     <form method="POST"> 
     <input type="hidden" name="token" value="<?php echo sha1("text")?>" > 
     </form> 
     <?php 
     echo $_POST['token']; 
     ?> 
    </body> 
</html> 

比方說,我想給PHP所產生的一些值,像這樣:

<a href="url + page?options=1&token=sasadasdasda878asd7as8d7a"> 

是否有一個選項來獲得令牌沒有(使用get)通過URL傳遞呢?

+1

不,你不能直到有數據發送到頁面讀取'$ _POST'。但是你可以將你輸出的值保存在一個變量中,並在第二個'echo'處訪問它。 – nickb

+0

不,你不能。除非,直到你提交你不能在PHP –

+0

訪問值@HankyPanky我想看看它是如何工作的:d –

回答

2

$_POST將與瀏覽器發送的數據進行填充。

如果您在頁面中有表單,則表單提交的數據只會在瀏覽器提交表單時由瀏覽器發送,當頁面初始加載時將不會提交,因爲:

  • 的頁面可能會通過GET請求來加載,而不是一個POST請求
  • 的瀏覽器不會在表單中的數據,直到接收到頁面後,所以它不能提交數據在頁面的請求中。
0

您也可以使用$ _SESSION,因爲它存儲在服務器端。

+0

是的,我可以使用會話將其存儲在服務器端,但是我怎麼可以在客戶端上的令牌值進行比較,而無需檢索相同的值到服務器驗證?我想這是不可能的出來的GET POST(或REQUEST)只能通過提交或通過網址或使用AJAX。一個很好的例子是值得歡迎的。 – obinoob