为啥数组中的这段代码不合适?

Posted

技术标签:

【中文标题】为啥数组中的这段代码不合适?【英文标题】:why is this code in the array not suitable?为什么数组中的这段代码不合适? 【发布时间】:2021-06-21 00:17:41 【问题描述】:

我正在尝试插入:return confirm('Sei sicuro di voler eliminare? Clicca annulla se non ne sei sicuro.');

在:

        <a href='deleteday.php?id=" . $row['id'] . "' >Elimina</a>

但我不工作....

我试过了:

<a href='deleteday.php?id=" . $row['id'] . "'return confirm(\'Sei sicuro di voler eliminare? Clicca annulla se non ne sei sicuro.\'); >Elimina</a>

为什么??

【问题讨论】:

你为什么不在onclick="return confirm(\'Sei sicuro di voler eliminare? Clicca annulla se non ne sei sicuro.\');"上使用它? 除了上面的评论 - 你有引用问题。语法突出显示应该对您有所帮助。 href='deleteday.php?id=" . $row[' Google bot 的一次访问也会擦除您的数据库。永远不要在 GET/HREF 中删除 【参考方案1】:

永远不要在href中删除

蜘蛛的一次访问可能非常糟糕

试试这个

<div id="someContainer">
  <a href='#' data-id='<?= $row['id']; ?>' class="delete">Elimina</a>
  <a href='#' data-id='<?= $row['id']; ?>' class="delete">Elimina</a>
  <a href='#' data-id='<?= $row['id']; ?>' class="delete">Elimina</a>
</div>

document.getElementById("someContainer").addEventListener("click",e => 
  const tgt = e.target;
  if (tgt.classList.contains("delete") 
    e.preventDefault(); // cancel link
    if (confirm('Sei sicuro di voler eliminare? Clicca annulla se non ne sei sicuro.')) 
      location = "deleteday.php?id="+tgt.dataset.id
    
  
)

建议你改

location = "deleteday.php?id="+tgt.dataset.id

到 POST,例如使用 fetch

【讨论】:

所有“阅读”提交都可以使用$_GET superglobal。当“写入”(INSERT/UPDATE/DELETE)数据时,最好使用$_POST。一个“蜘蛛”会意识到触发删除的url会带来麻烦。【参考方案2】:

试着把它放到下面给出的例子中:

<a href="#" onclick="return confirm('hello');"> Click On me!</a>

【讨论】:

以上是关于为啥数组中的这段代码不合适?的主要内容,如果未能解决你的问题,请参考以下文章