使用隐藏值而不是$ _GET或$ _REQUEST

时间:2011-11-08 16:07:29

标签: php get request hidden

我一直在使用表单的隐藏值。

示例:

 <form method="post" action="page.php">
 <input type="text" name="name""
 <input type="hidden" name="book_id" value="$bookid">
 <input type="button">
 </form>

$bookid$_GET

book.php?id=34324

所以我没有page.php?id=$bookid而是在隐藏字段中使用$bookid

我的问题:如果我使用隐藏值而不是在表单操作中使用$GET$POST,这会有害吗?

2 个答案:

答案 0 :(得分:4)

回答你的问题:以这种方式使用隐藏输入无益。

要修复提供的代码,您需要为隐藏的输入命名,并将方法更改为GET

 <?php
 if(array_key_exists('id', $_GET)) {
     $bookid = (int) $_GET['id'];
 }
 ?>

 <form method="get" action="page.php">
     <input type="text" name="name">
     <input type="hidden" name="id" value="<?php echo $bookid; ?>">
     <input type="button">
 </form>

答案 1 :(得分:3)

  

问题是:如果我在表单操作中使用隐藏值与使用$ GET或$ POST有害吗?

答案是:实际上,根据所选方法,您将在$ _GET或$ _POST数组中隐藏值。 不,使用隐藏输入没有坏处。虽然也没有收获。