2011-12-23 3 views
-1

내가 누락 된 부분을 파악하지 못했기 때문에 모두 도와 줄 수 있습니까?Ajax Php 서버에서 파일 삭제

function deleteFile(file){ 

var file = encodeURIComponent(file); 


if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari 
xmlhttp=new XMLHttpRequest(); 
} else {// code for IE6, IE5 
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
} 

xmlhttp.onreadystatechange=function() { 
if (xmlhttp.readyState==4 && xmlhttp.status==200) { 
document.getElementById("media").innerHTML=xmlhttp.responseText; 
} 
} 
xmlhttp.open("GET", "http://www.bennettauto.biz/file-tree-hr/delete.php?file=\""+file, true); 
xmlhttp.send(); 
alert(clicked); 
} 

HTML :

<div id='TrashFile'><a href="javascript:void(0)"onClick='deleteFile(<? echo $deletefile; ?>);'><img src='http://www.bennettauto.biz/images/tool_trash.gif'></a></div> 

delete.php :

<?php 
    // I save the file sources from the URL what was sent by AJAX to these variables. 
    $file = $_GET['file']; 


    function deleteFiles($id){ 
     // If is a file then delete the file. 
     if(is_file($id)){ 
      return unlink($id); 
     // Else show error. 
     } else { 
      echo $id . " is not a file, or there is a problem with it.<br />" ; 
     } 
    } 

    if(isset($file)){ 
     deleteFiles($file); 
    } 


?> 

온 클릭 기능이 내가 부족 뭔가하지만 내가 할 수있는, delete.php 호출하지 않는 것 뭐가 보이는지.

+0

서버 측에 더 많은 코드가 있기를 바랍니다. 이것은 극히 위험합니다. 따라서 누구나 서버에서 쓸 수있는 모든 파일을 삭제할 수 있습니다. – Rufinus

+0

생성 된 JavaScript를 살펴보십시오. 생성 된 JavaScript가 작동하지 않는 이유를 알고 있습니까? 왜 PHP가 자바 스크립트를 생성하는지 이해하고 있습니까? 당신은 그 질문들 중 하나에 대한 대답을 찾고 나서 극단적 인 목적을 제시해야합니다. – Quentin

+0

GET 요청을 사용하여 삭제하지 마십시오. GET 요청은 SAFE로 간주됩니다. – Quentin

답변

1

xmlhttp.open (http://www.bennettauto.biz/file-tree-hr/delete.php?file=\""+file "사실"GET ");

당신이 따옴표를 포함하지 않아야 GET 사용하여 정보를 전송합니다.

그리고 더 일반적인 메모

\"가하고 있다고? 나는 그것에 대해 일치하는 따옴표 표시되지 않는 무슨

는.이 나는 매우 위험한 코드입니다 이 관리자를위한 것이라고 가정하지만 delete.php에 권한 검사가 표시되지 않습니다. 적어도 사용자가 로그인했는지 확인하십시오.