使用JavaScript和HTML表单传递php变量

使用JavaScript和HTML表单传递php变量,javascript,php,html,forms,Javascript,Php,Html,Forms,我正在尝试创建一个带有用户确认弹出窗口的删除按钮 HTML/PHP: <form method='POST' onclick='return confirmDelete()'> <button type='submit'> Delete script </button> </form> 删除脚本 JavaScript: <script type="text/javascript"> function confirm

我正在尝试创建一个带有用户确认弹出窗口的删除按钮

HTML/PHP:

<form method='POST' onclick='return confirmDelete()'>
  <button type='submit'>
    Delete script
  </button>
</form>

删除脚本
JavaScript:

<script type="text/javascript">
function confirmDelete() {
if (confirm("Are you sure?")) {
  window.location.href = 'delete_script.php?<?php echo "$id" ?>';
  return false;
}
else{
  return true;
  }
}
</script>

函数confirmDelete(){
如果(确认(“你确定吗?”){
window.location.href='delete_script.php?';
返回false;
}
否则{
返回true;
}
}

它的作用是将我重新定向到正确的页面“delete_script.php”,但是$id没有出现在url中。“delete_script.php”页面可以与其他页面一起使用,但我不知道这段代码有什么问题。我真的认为这是可能的。任何帮助都将不胜感激

根据我的评论,更改此

if (confirm("Are you sure?")) {
  window.location.href = 'delete_script.php?<?php echo "$id" ?>';
  return false;
}
if(确认(“您确定吗?”){
window.location.href='delete_script.php?';
返回false;
}
对此

if (confirm("Are you sure?")) {
  window.location.href = 'delete_script.php?id=<?php echo $id ?>';
  return false;
}
if(确认(“您确定吗?”){
window.location.href='delete_script.php?id=';
返回false;
}

您需要为查询字符串传递url编码的值:

<?php echo 'id=' . urlencode($id); ?>

或者,用php生成整个url:

location.href = <?php echo json_encode('delete_script.php?id=' . urlencode($id)); ?>;
location.href=;

这看起来像一个od。如果$id是一个变量,请删除双引号。您可能还想添加一个查询字符串名称,例如“delete_script.php?id=”。您可以将其保留在$会话['']变量中。。。这样的话,它是全球性的。。。到处都是。
$id
首先来自哪里?我曾尝试将它保存在$\u会话变量中,但无论如何它都不会进入url。我更喜欢这样做。我已经排除了很多代码,$id是我数据库中一篇文章的id。这个页面是从另一个页面获得的。没有区别,谢谢。只需将我重新定向到url中没有任何$id的页面。替代答案非常有效!非常感谢,先生。