javascript确认后调用php函数

javascript确认后调用php函数,javascript,php,Javascript,Php,我想在JavaScript确认后调用函数deleteUser()。这是我的密码。请帮帮我 <?php session_start(); include_once("DataSourceController.php"); $DeletedBy = $_SESSION['ID']; $Name = $_GET['uname']; echo ' <script type="text/javascript"> var responce=confirm("Are you sure you

我想在JavaScript确认后调用函数deleteUser()。这是我的密码。请帮帮我

<?php
session_start();
include_once("DataSourceController.php");
$DeletedBy = $_SESSION['ID'];
$Name = $_GET['uname'];
echo '
<script type="text/javascript">
var responce=confirm("Are you sure you want to delete this user?");
if (!(responce==true)){
deleteUser();
}
</script>';
function deleteUser(){
$sql_DeleteUser="UPDATE login
            SET Deleted=1,DeletedAt= now(),DeletedBy=".$DeletedBy."
            Where User='".$Name."';";
mysql_query($sql_DeleteUser);
echo'
        <script type="text/javascript">                     
        alert("User '.$Name.' Successfully deleted."); 
        window.location.href = "../pages/DeleteUser.php";
        </script>'; 
}
?>
使用以下代码:

<?php
session_start();
include_once("DataSourceController.php");
$DeletedBy = $_SESSION['ID'];
$Name = $_GET['uname'];

function deleteUser(){
$sql_DeleteUser="UPDATE login
            SET Deleted=1,DeletedAt= now(),DeletedBy=".$DeletedBy."
            Where User='".$Name."';";
mysql_query($sql_DeleteUser);
echo'
        <script type="text/javascript">                     
        alert("User '.$Name.' Successfully deleted."); 
        window.location.href = "../pages/DeleteUser.php";
        </script>'; 
}

//first, we check whether the user has confirmed or not
if(!isset($_GET['confirmed'])) { //if they haven't, we display the confirmation message
    ?>
    <script type="text/javascript">
    var responce=confirm("Are you sure you want to delete this user?");
    if (!(responce==true)){
        //if confirmed, reload the page with added 'confirmed' parameter
        window.location.href="<?php echo $_SERVER['PHP_SELF'].$_SERVER['REQUEST_URI'] ?>?confirmed=1"
    }
    </script>
    <?php
}
elseif($_GET['confirmed'] == 1) {
   deleteUser();
}
?>

您在最初的问题中有一些错误的理论。尽管JavaScript是客户端语言,但PHP不是。当前代码将出现未定义的函数错误,因为它未在javascript中定义

为了让JavaScript执行PHP函数,强烈建议学习和使用AJAX。当用户执行特定操作时,可以使用AJAX动态执行PHP代码。许多网站使用它来查询数据库,而无需重新加载页面


JavaScript将向PHP页面发送请求,在该页面上执行函数。有关更深入的示例,请参阅本页:

您可以通过以下方式完成:

1/通过发送感谢GET的信息(例如),重定向到php脚本,从而实现同步:


var response=confirm(“您确定要删除此用户吗?”);
如果(!(响应==真)){
window.location.href=(“myScript.php?user=“+userName);//应在
}
';
和myScript.php:

<?php 
    if isset($_GET['user']){
       $name = $_GET['user'];
    }
    //some stuff    
    deleteUser($name); //Here you call your function     
    header('Location: myPage.php'); //You return to your first script    
?>


2/通过异步调用AJAX请求到
myScript.php

,您需要了解服务器端和客户端之间的区别。PHP在JS(客户端)之前在服务器端处理。实现这一点的唯一方法是使用AJAX
<?php 
    if isset($_GET['user']){
       $name = $_GET['user'];
    }
    //some stuff    
    deleteUser($name); //Here you call your function     
    header('Location: myPage.php'); //You return to your first script    
?>