javascript确认后调用php函数
我想在JavaScript确认后调用函数deleteUser()。这是我的密码。请帮帮我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
<?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
?>