点击链接时被删除的记录

问题描述:

我有一个链接/页面'myfiles.php',它显示了某个用户上传的文件的详细信息。但是,再次点击/在地址栏中输入'myfiles.php'后,页面中的记录就消失了。什么应该是解决方案?请帮忙。谢谢。以下是我的代码:点击链接时被删除的记录

while ($row=mysql_fetch_array($query)) { 

    $row1 = $row['name']; 
    $row2 = $row['size']; 
    $row3 = $row['type']; 
    $delfile = "<a href='deletefile.php?file=$row1'>Delete file</a>"; 
    $dlfile = "<a href='download.php?file=$row1'>Download</a> "; 
    echo "<p>"; 
    echo $row1; 
    echo "<br>"; 
    echo $row2; 
    echo "<br>"; 
    echo $row3; 
    echo "<br>"; 
    echo $dlfile; 
    echo $delfile; 
} 
+0

也许你第一次去那里有一些帖子/获取数据(你来自某种形式/链接)? – 2011-03-31 13:42:27

+0

您需要提供更多信息。显示什么文件?它是从表单上载然后显示的吗?它在早些时候的会话中上传了吗? – 2011-03-31 13:43:18

+0

也许您正在根据通过POST或GET vars传递的变量来检索数据,这些变量在第二次访问时不存在?只是一个疯狂的猜测,我认为我们需要更多的细节才能更具体化......你如何撰写查询?你使用什么参数以及如何获得它们? – AJJ 2011-03-31 13:43:32

您是否在使用某种浏览加速器并且没有删除确认?

看来您的浏览器正在请求您网页上的所有链接并删除您的记录。

如果要删除,插入,更新等数据库中的记录,使用POST而不是GET(如可点击的链接)是一个非常好的主意,因此您必须在每个表格中添加一个表格将数据发布到服务器的条目。你当然可以跳过这个,但是你肯定需要基于POST的删除确认。

我假设$ usersess没有改变?如果这依赖于会话或cookie,则应检查它是否过期或被销毁。

$query = mysql_query("SELECT * FROM uploadedfiles WHERE username='$usersess' "); 
while ($row = mysql_fetch_array($query)) { 

    $delfile = "<a href=\"deletefile.php?file={$row['name']}\">Delete file</a>"; 
    $dlfile = "<a href=\"download.php?file={$row['name']}\">Download</a> "; 

    echo "<p>{$row['name']}<br> 
     {$row['size']}<br> 
     {$row['type']}<br> 
     {$dlfile}{$delfile}</p>"; 
} 
+0

$ usersess = $ _SESSION ['username']; – tryinghardcoder 2011-03-31 13:51:55