2011-03-31 30 views
0

我有一個鏈接/頁面'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

回答

0

您是否在使用某種瀏覽加速器並且沒有刪除確認?

看來您的瀏覽器正在請求您網頁上的所有鏈接並刪除您的記錄。

如果要刪除,插入,更新等數據庫中的記錄,使用POST而不是GET(如可點擊的鏈接)是一個非常好的主意,因此您必須在每個表格中添加一個表格將數據發佈到服務器的條目。你當然可以跳過這個,但是你肯定需要基於POST的刪除確認。

0

我假設$ 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