<form id="form3" name="form3" method="get" action="">
<tr>
<td align="left" ><input name="page" type="text" id="page" size="5" value="<?php echo $pageNumView; ?>"/></td>
</tr>
</form>
<form id="form4" name="form4" method="post" action="">
<tr>
<td width="84%"><input name="iddetails" type="text" id="iddetails" size="20" value="<?php echo $rows['product_id']; ?>"/> </td>
</tr>
</form>
我有2个表格。每当我在form4中输入'iddetails'时,我想删除Form3中的$_GET['page']
。
我尝试使用unset($_GET['page']);
我可以看到它使用调试器跟踪&amp;删除了params'页面'。
但是当我再次尝试使用Form4输入时,$_GET['page']
仍然存在并且没有被完全删除。
那么如果我输入'iddetails'form4,如何删除form3中的Params'Page'?
我已阅读过有关此POST-REDIRECT-GET解决方案的信息。
答案 0 :(得分:0)
您需要设置操作,以便不设置$ _GET值:
<form id="form3" name="form3" method="get" action="">
<tr>
<td align="left" ><input name="page" type="text" id="page" size="5" value="<?php echo $pageNumView; ?>"/></td>
</tr>
</form>
<form id="form4" name="form4" method="post" action="yourform.php">
<tr>
<td width="84%"><input name="iddetails" type="text" id="iddetails" size="20" value="<?php echo $rows['product_id']; ?>"/> </td>
</tr>
</form>
或者这样做:
if( isset( $_POST['iddetails']) && isset( $_GET['page'])){
$_GET['page'] = 0; //Set it to whatever you like.
}
我的问题是:为什么设置$ _GET ['page']时会出现问题?当$ _POST ['iddetails']设置好后,您可以在代码中简单地重复它?
答案 1 :(得分:0)
如果两个表单都在同一个网页上,那么每次刷新form4的页面时,form3的$ _GET也会被设置,因为元素'page'的值来自服务器端变量$ pageNumView
此外,您不需要POST就可以摆脱GET。此外,如果您不需要$ _GET中的键,请在使用后取消设置。