2017-12-30 61 views
0

私は、PHPで作成した画像を消去するために、HTMLコード内のボタンを使用しようとしています。私は他のソリューションについて多くのことを読んだことがあり、コードが機能していない理由を知りません。 ここでは、ボタンを使用してHTMLコードを作成しています。ユーザーが選択すると、自分のウェブサイトの別のページに切り替える必要がありますが、その前に画像を削除する必要があります。この機能を実行することにより、これを行う必要がある「deleteImages()」:PHPコードを呼び出すhtmlボタンを使用してフォルダから画像を消去しようとしていますか?

<script> 
function deleteImages(){ 
//function to delete images if the user chooses to goback: 
<?php 
if (isset($_POST['formGoBack'])){ 
unlink($outlineimageloc); 
unlink($imageaftersmooth); 
unlink($jpegorigimageloc); 
unlink($OrigImageSavename); 

} 
    ?> 
} 
</script> 

<form id="formGoBack" action="<?php echo $ShopPage; ?>" method="post"> 
     <button type="submit" name="formGoBack" onClick="deleteImages()" class="btn btn-primary" >Go Back </button> 
      </form> 

私はまた、PHPのコードを実行しますdeleteImages()関数を実行するHTMLセクション内の関数を持っています私はこれをいくつかの方法で試しました(これらのリンクをすべて私のフォームのアクション部分に追加するだけです)。しかし、リンク部分をアクション部分に置くと、ボタンが押されずに画像が自動的に削除されます。今のように、関数内のPHPコードでは、ボタンが押されても画像はまったく削除されません。どんな助けもありがとうございます。

+2

phpコードはサーバ上で実行され、scriptタグはブラウザで実行されるjavascriptを示します。おそらく、フォームのonsubmitをトリガして、画像ファイルの削除スクリプトを起動するか、$ ShopPageのコードの始めに特定のパラメータが設定されているかどうかを確認し、画像を削除するように、AJAX呼び出しを行うことができます。 – JasonB

+0

これで削除されません。関数呼び出しを使用するためです。機能biitを削除し、それは動作します。または、関数deleteImages($ filename){ – halojoy

答えて

1

あなたの説明に基づいて、私はあなたが既にファイルを削除する部分を処理することができます(削除するファイルの正しいパスを取得し、それらのリンクを解除することができます)。だから私はあなたがしたいと思う:

1)Go Backボタンでフォームを表示する;

2)ボタンをクリックしてファイルを削除します。

3)$ ShopPageにリダイレクトします。

私の理解が正しい場合は、次のコードを参照してください。

<?php 
if (isset($_POST['formGoBack'])){ 
    unlink($outlineimageloc); 
    unlink($imageaftersmooth); 
    unlink($jpegorigimageloc); 
    unlink($OrigImageSavename); 
    $ShopPage="XXXX"; //set the url here 
    header("Location:$ShopPage"); 
} 
?> 
<form id="formGoBack" action="" method="post"> 
    <button type="submit" name="formGoBack" class="btn btn-primary" >Go Back </button> 
</form> 
+0

あなたのポストに感謝します。私はこの解決策で見つけた唯一の問題は、これはページが私がこのページに持っている他のすべてのPHPスクリプトを再実行する原因となっていることです。多くの時間がかかります。なぜこれが起こっているのか知っていますか? – clutch1020

+0

ページが再実行される場合は、フォームの動作を確認することができます。アクションが '' ''(またはページitselftと同じ)の場合、そのページは再びこのページに送られ、再実行されます。 – Phil

関連する問題