2011-03-31 5 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

어쩌면 처음으로 몇 가지 게시물/데이터를 얻을 수 있습니까? (양식/링크에서 제공)? –

+0

자세한 정보를 제공해야합니다. 표시된 파일은 무엇입니까? 양식에서 방금 업로드 한 다음 표시 했습니까? 이전 세션에서 업로드 되었습니까? –

+0

아마도 두 번째 방문시 존재하지 않는 POST 또는 GET 변수를 통해 전달되는 변수에 따라 데이터를 검색하고 있습니까? 그냥 자연스러운 추측으로, 나는보다 구체적인 세부 사항이 필요하다고 생각합니다. 어떻게 쿼리를 작성합니까? 어떤 매개 변수를 사용하고 어떻게 사용합니까? – AJJ

답변

0

당신은 검색 가속기의 일종을 사용하면 삭제 확인을하지는 있습니까?

귀하의 브라우저가 페이지의 모든 링크를 요청하고 기록을 삭제하는 것 같습니다.

데이터베이스에 레코드를 삭제, 삽입, 업데이트하는 등의 작업을 수행하려면 GET 대신 POST (클릭 가능한 링크처럼)을 사용하는 것이 좋습니다. 따라서 모든 페이지에서 양식을 추가해야합니다. 서버에 데이터를 게시하는 항목. 물론 이것을 건너 뛸 수는 있지만 POST 삭제 확인이 필요합니다.

0

$ usersess가 변경되지 않는다고 가정합니다. 이것이 세션이나 쿠키에 의존적이라면 만료 또는 파괴되지 않는지 확인해야합니다.

$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

관련 문제