簡體   English   中英

將JavaScript函數參數轉換為php變量

[英]Converting JavaScript function argument to php variable

我有一個js函數,該函數傳遞了一個fileid以通過php腳本刪除。 我不知道如何將JavaScript參數從JavaScript轉換為PHP變量。

到目前為止,這是我所做的:

<script>
    function deleteFile(file)
    {
        var r = confirm("Are you sure you want to delete this file?");
        if (r === true)
        {
            <?php
            $idfile = file; // How to convert it??
            unlink(mysql_result(
               mysql_query("SELECT filepath FROM
                  file where idfile='$idfile'"), 0, 0))
               or die("Could not delete file");
            mysql_query("DELETE FROM file WHERE fileid=$idfile")
               or die("Cannot delete file");
            echo "File has been deleted successfully.";
            ?>
        }
    }
</script>

我也有一個按鈕:

echo "<button onclick=\"deleteFile($fileid)\">Delete</button>";

更新

function deleteFile(file)
{
    var r = confirm("Are you sure you want to delete this file?");
    if (r === true)
    {   // doesn't go to deletefile.php
        $.ajax({
            url: "/deletefile.php",
            method: 'POST',
            data: {
                id: file
            }
        });
    }
}

在此處輸入圖片說明

那行不通。 JavaScript和PHP是完全獨立的實體,它們在不同的時間執行。

PHP是一種服務器端語言。 PHP代碼在您的服務器上執行,並將響應返回到Web瀏覽器。

JavaScript是一種客戶端語言。 在PHP代碼執行之后 ,當用戶與瀏覽器中的頁面進行交互時,它將執行。

您需要編寫一個單獨的PHP腳本,該腳本使用要刪除的文件ID,然后使用AJAX發送具有指定文件ID的刪除請求。

您不能在PHP中放置Javascript變量,但是可以使AJAX發送$id_file

$.ajax({
        url: "/action.php",
        method: 'POST',
        data: {
          id: file,
       }
}); 

然后,在PHP操作中,您可以使用$_POST['id']進行查詢。

最好將AJAX與jQuery一起使用。 這樣創建的代碼無法正常工作。 嘗試這個。

產生ID的按鈕

<?php
  echo '<button class="delete_button" data-id="'.$id.'">delete me!</button>';
?>

這里下載jQuery,將其保存到您的項目文件夾中。

使用jQuery發送帖子請求

 <script type="text/javascript" src="/path/to/jquery.min.js"> <script type="text/javascript"> $(".delete_button").click(function() { var id = $(this).data("id"); $.post( "handler.php",{del: id}, function( data ) { if(data) { alert("deleted successfully!"); window.location = "/your/desired/url"; // redirect after success } } }); </script> 

在handler.php中刪除

if(array_key_exists("del", $_POST))
{
// delete in mysql
}
function deleteFile(file)
{
    var r = confirm("Are you sure you want to delete this file?");
    if (r === true)
    {   // doesn't go to deletefile.php
        $.ajax({
            url: "/deletefile.php",
            method: 'POST',
            data: {
                id: file
            }
        })
        .done(function( data ) {
         console.log(data);
       });
    }
}

p

<?php
    $idfile = $_POST['id']; // How to convert it??
    unlink(mysql_result(
       mysql_query("SELECT filepath FROM
          file where idfile='$idfile'"), 0, 0))
       or die("Could not delete file");
    mysql_query("DELETE FROM file WHERE fileid=$idfile")
       or die("Cannot delete file");
?>

不去deletefile.php嗎? 網址可能不正確

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM