Php 表格onsubmit="&引用;确认窗口不工作

Php 表格onsubmit="&引用;确认窗口不工作,php,html,forms,onsubmit,Php,Html,Forms,Onsubmit,在我的网站上,应该可以从数据库中删除特定数据,但只能删除您创建的数据。如果您查看一些数据,我的php代码会检查您登录的帐户是否是数据的“创建者帐户”。如果是,它将显示一个删除数据的按钮 if ($_SESSION['userID'] == $creatorID) { echo '<form onsubmit="return confirm("Do you really want to delete this entry?");" class="c-inline" action=

在我的网站上,应该可以从数据库中删除特定数据,但只能删除您创建的数据。如果您查看一些数据,我的php代码会检查您登录的帐户是否是数据的“创建者帐户”。如果是,它将显示一个删除数据的按钮

if ($_SESSION['userID'] == $creatorID) {
  echo
    '<form onsubmit="return confirm("Do you really want to delete this entry?");" class="c-inline" action="delete.php" method="post">
      <input name="query" type="hidden" value ="'. $id .'"/>
      <button id="btnDelete" type="submit" class="btn btn-danger" name="button" title="Eintrag löschen">
        <span class="glyphicon glyphicon-trash" aria-hidden="true"></span> Löschen
      </button>
    </form>';
}
if($\u会话['userID']==$creatorID){
回声
'
洛申
';
}
问题是,当你按下按钮时,它会问你是否真的想删除数据,但它没有。消息没有显示,我立即被重定向到
delete.php


你知道为什么我的
onsubmit=“
被忽略了吗?

你的问题是你使用的引号有点错误。对
onsubmit
属性和其中的函数使用双引号,该函数将打断引号。因此,您的
onsubmit
只会看到
返回确认(
(因为在这之后会出现一个与您打开该属性时使用的类型相同的引号)。将内部双引号替换为单引号;但必须对其进行转义(因为您
echo
此字符串)



您的问题是您使用的引号有点错误。对
onsubmit
属性使用双引号,以及其中的函数,该函数会打断引号。因此您的
onsubmit
只会看到
返回确认(
(因为在这之后会出现与您打开该属性时使用的相同类型的引号)。将内部双引号替换为单引号;但必须对其进行转义(因为您
echo
此字符串)



引号,引号,引号。对于大块HTML,您可以退出PHP,
?>您的“安全性”根本不起作用。你可以在frondend中强制使用任何id,并且你的数据是gone@user2659982有什么简单的方法可以防止这种情况发生吗?这是一个学校项目,我们从来没有了解过这方面的内容……这完全取决于您如何生成ID,但最重要的是,您还要在
delete.php
中验证用户。是的,我会这样做那是肯定的。如果我有时间的话,我还会读到有关暴力攻击的文章!引号,引号,引号。对于大块HTML,你可以退出PHP,
?>你的“安全性”根本不起作用。你可以在frondend中强制使用任何id,并且你的数据是gone@user2659982有什么简单的方法可以防止这种情况发生吗?这是一个学校项目,我们从来没有了解过这方面的内容……这完全取决于您如何生成ID,但最重要的是,您还要在
delete.php
中验证用户。是的,我会这样做那是肯定的。如果我有时间,我也会读到关于bruteforce攻击的文章!很高兴能提供帮助!请注意,如果您使用第二种解决方案,并且使用的是早于5.4的PHP版本,您将需要简短的开头标记,因为
很高兴能够提供帮助!请注意,如果您使用第二种解决方案,并且如果您使用的是早于5.4的PHP版本,则需要简短的开头标记,用于

<?php 
if ($_SESSION['userID'] == $creatorID) {
  echo
    '<form onsubmit="return confirm(\'Do you really want to delete this entry?\');" class="c-inline" action="delete.php" method="post">
      <input name="query" type="hidden" value ="'. $id .'"/>
      <button id="btnDelete" type="submit" class="btn btn-danger" name="button" title="Eintrag löschen">
        <span class="glyphicon glyphicon-trash" aria-hidden="true"></span> Löschen
      </button>
    </form>';
}
<?php 
if ($_SESSION['userID'] == $creatorID) {
  ?>
  <form onsubmit="return confirm('Do you really want to delete this entry?');" class="c-inline" action="delete.php" method="post">
      <input name="query" type="hidden" value ="<?= $id ?>"/>
      <button id="btnDelete" type="submit" class="btn btn-danger" name="button" title="Eintrag löschen">
        <span class="glyphicon glyphicon-trash" aria-hidden="true"></span> Löschen
      </button>
    </form>
    <?php 
}