2013-01-11 71 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