2011-12-23 8 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:onClickの機能は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); 
    } 


?> 

、私は欠けているものがあるが、私はできます何を参照してください。

+0

サーバー側にもっとコードがあることを願っています これは極端に危険です。だから、誰でもサーバが書き込み可能なすべてのファイルを削除することができます。 – Rufinus

+0

生成されたJavaScriptを見てください。生成されたJavaScriptが動作しない理由を理解していますか? PHPがそのJavaScriptを生成する理由を理解していますか?極端なものを私たちに提示するのではなく、それらの質問の1つに答えを求めるべきです。 – Quentin

+0

GET要求を使用して物を削除しないでください。 GET要求は安全であると考えられています。 – Quentin

答えて

1

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

\"がやっていること?私はそのためのマッチング引用符は表示されません。あなたが引用符を含めるべきではありませんGET使用して情報を送信する場合は何

そして、もっと一般的なノートに、これは非常に危険なコードですが、私はこれは管理者向けだと仮定していますが、delete.phpに権限チェックが表示されません。少なくとも、ユーザがログインしているかどうか確認してください。

関連する問題