Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/419.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript PHP-Can';t注销并同时显示警报消息_Javascript_Php - Fatal编程技术网

Javascript PHP-Can';t注销并同时显示警报消息

Javascript PHP-Can';t注销并同时显示警报消息,javascript,php,Javascript,Php,我有一个PHP登录系统,如果你愿意,你可以删除你的帐户/个人资料。当用户单击“我希望他们注销”按钮时,他们的帐户将被删除,并显示一条警告消息(JavaScript),表示他们的帐户已被删除。问题是,当我包含logout.php文件时,警报消息不会出现。如果删除该行代码,则会显示警告消息,但用户仍将登录。我怎样才能解决这个问题 这是我的密码 profile.php: <form class="form" action="delete.php" meth

我有一个PHP登录系统,如果你愿意,你可以删除你的帐户/个人资料。当用户单击“我希望他们注销”按钮时,他们的帐户将被删除,并显示一条警告消息(JavaScript),表示他们的帐户已被删除。问题是,当我包含logout.php文件时,警报消息不会出现。如果删除该行代码,则会显示警告消息,但用户仍将登录。我怎样才能解决这个问题

这是我的密码

profile.php:

<form class="form" action="delete.php" method="post">
      <button type="submit" name="delete" value="delete" onclick="return confirm('Are you sure you want to delete your profile?')">Delete profile</button>
    </form>

删除配置文件
delete.php:

<?php
session_start();

if (isset($_POST["delete"])) {
  require_once 'dbh.inc.php';

  $deleteUser = "DELETE FROM users WHERE usersId='".$_SESSION["userid"]."'";

if ($conn->query($deleteUser) === TRUE) {
  echo "<script>alert('The profile has been deleted.');</script>";
  include 'logout.php';
} else {
  echo '<script>alert("Something went wrong: ")</script>';
}

} else {
  header("location: ../index.php");
  exit();
}

尝试更改以下代码:

发件人:


在js中添加重定向以及
警报()
,而不是在php中添加重定向

echo "<script>alert('The profile has been deleted.'); window.location.href='logout.php';</script>";  
echo“警报('配置文件已被删除');window.location.href='logout.php';”;

这将显示警报,然后重定向到logout.php

您无法创建输出(JS代码),同时重定向到其他位置。(从技术上讲,您可以-但浏览器不会解释您发送的任何JS代码,同时您会说“去其他地方看看”。)您可以使用附加的GET参数重定向到index.php,然后在index.php中检查该参数是否已设置,如果已设置,然后在那里输出特定的消息/JS代码此行在服务器级别执行,因此您的警报不会在浏览器上执行,而不会在服务器级别执行。但是您正在重定向到索引页。PS-尽量避免混合使用两种不同的语言。最好单独使用它们,并使用AJAX在两者之间建立连接。在开始输出内容(如echo)后,也不能调用
header()
。所有
header()
-在任何输出之前都需要调用调用。将查询字符串参数传递到注销页面,指示已发生帐户删除。然后,如果该参数存在,注销页面可以决定显示一条关于它的消息。记住在ur if else语句中注释掉警报函数。这只会使
标题
不起作用。不幸的是,这没有起作用。消息仍然没有显示:(
<?php

session_start();
session_unset();
session_destroy();

header("location: ../index.php");
exit();
<?php

session_start();
session_unset();
session_destroy();

echo "<script>alert('The profile has been deleted.');</script>";
header("location: ../index.php");
exit();
echo "<script>alert('The profile has been deleted.'); window.location.href='logout.php';</script>";