Php 表格onsubmit="&引用;确认窗口不工作
在我的网站上,应该可以从数据库中删除特定数据,但只能删除您创建的数据。如果您查看一些数据,我的php代码会检查您登录的帐户是否是数据的“创建者帐户”。如果是,它将显示一个删除数据的按钮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=
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
}