PHP获取值消失


PHP get value disappears

我有一个html表单,其中填充了从MySQL数据库查询中获得的值。该查询由通过GET发送的id执行。

我将id和一个被锚<a>:包围的按钮一起发送到表单

<a href='editRQS.php?id=$row[0]'><button class='edit'>Edit</button></a>

$row[0]由正确的id填充,我相信它工作正常。当我点击按钮时,url会发送带有id的内容。然后在另一个页面上收到,如下所示:

<?php
$id = -1;
if(isset($_GET['id'])){
    $id = $_GET['id'];
    echo "<label class='exists' id='idRequest'> $id</label>";       
}
if($id != -1 ){
    echo '<form id="findRequest" class="hide" >';
} else {
    echo '<form id="findRequest" class="show" >';
}   
?>

问题是id到达页面,但随后它就消失了。任何帮助都将不胜感激。

编辑

页面似乎要重新加载,我不知道为什么,我有一些javascript来管理一些页面功能,唯一可能导致这种情况的是提交另一个表单时的事件处理程序,但我已经这样阻止了它:

$('anotherForm').on('submit',function(e){
   .
   .
   .
   e.preventDefault();
 }

编辑

感谢所有提供帮助的人,我还没有找到它不起作用的原因,我尝试了disabling javascript,页面停止了重新加载,所以我想这是另一件让我的页面陷入混乱的事情

由于表单已提交,页面正在重新加载。仅仅preventDefault表单提交是不够的。尝试e.preventDefault(); e.stopPropagation();,后者在点击提交按钮时阻止表单提交(点击仍然被处理,在某些情况下传播到表单,然后提交。

另外,我看到您正在使用jQuery。只需让事件处理程序返回false。jQuery自动将返回错误的处理程序转换为e.preventDefault() ||e.returnValue = false e.stopPropagation() || e.cancelBubble = true;构造。或者你可以自己写代码。。。?

检查register_globals设置,如果它打开,您将用第一条语句覆盖$_GET['id']。

您可以通过将$id重命名为$id以外的其他名称来轻松检查它。