当我点击-6ren">
gpt4 book ai didi

javascript - 在 javascript 代码中使用 php 函数

转载 作者:行者123 更新时间:2023-11-30 10:24:08 24 4
gpt4 key购买 nike

我想从 javascript 代码运行一个 php 函数,更具体地说,我有一个按钮可以从数据库中删除一条记录。执行此操作的函数名为

delete_post($id)

这是我尝试过的:

<input type="submit" name="delete" value="delete" 
onClick="if(confirm('Are you sure?')) {<?php delete_post($row['id']);?>}">

当我点击按钮时,没有警告框。有趣的是,如果我不在 php 代码中调用函数,而是执行其他操作(例如 echo),警报会弹出,但 php 代码不会执行。

那么,我该怎么做呢?如何在我的 javascript onClick 代码中运行 php 代码。

最佳答案

你不能。 PHP 应该在页面加载之前运行,因此将其命名为 Pre-Hypertext Protocol。如果您想在通过 JavaScript 加载页面后运行 PHP,最好的方法是链接到运行 PHP 的新页面,然后返回用户。

file1.php:

...
<input type="submit" name="delete" value="delete" onClick="if(confirm('Are you sure?')) document.location.href='file2.php';">
...

file2.php:

<!doctype html>
<html>
<head>
<?php
delete_post($row['id']);
?>
<meta http-equiv="refresh" content="0; url=file1.php" />
</head>
<body>
<p>You will be redirected soon; please wait. If you are not automatically redirected, <a href="file1.php">click here</a>.</p>
</body>
</html>

假设您有多个 ID,您可以将它们全部放在一个重定向页面上:

if(confirm('Are you sure?')) document.location='file2.php?id=2'; // file1.php
delete_post($row[$_GET["id"]]); // file2.php

但不要将 PHP 代码直接放入查询字符串中,否则您的站点可能容易受到 PHP injection 的影响。

关于javascript - 在 javascript 代码中使用 php 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20317165/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com