Php 使用隐藏值而不是$\u GET或$\u REQUEST

Php 使用隐藏值而不是$\u GET或$\u REQUEST,php,get,request,hidden,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> 回答你的问题:不,以这种方式使用隐藏输入并没有害处 要修复提供的代码,您需要为隐藏的输入指

我一直在为表单使用隐藏值

例如:

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


回答你的问题:不,以这种方式使用隐藏输入并没有害处

要修复提供的代码,您需要为隐藏的输入指定一个名称,并将方法更改为
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>

问题是:在表单操作中使用隐藏值与使用$GET或$POST相比是否有害

答案是:实际上,根据选择的方法,您将在$\u GET或$\u POST数组中拥有隐藏值
不,使用隐藏的输入没有害处。尽管也没有任何好处。

隐藏值对于将数据从一种形式传播到另一种形式来说是非常好的。您也可以考虑将数据存储在用户的会话中。@ Digital在将数据从一种形式传播到另一种形式上没有任何意义。@弹片:当然有,我们不时地使用它。尽管如此,重要的是要对任何用户输入进行消毒,因为这个例子是通过将$IGET(ID)转换成整数。更通用的替代方法是htmlspecialchars():