gpt4 book ai didi

javascript - ajax将信息发布到php $_POST中

转载 作者:行者123 更新时间:2023-11-28 04:35:54 25 4
gpt4 key购买 nike

我正在尝试将我的ajax 中的信息获取到PHP $_POST 中,以便我可以更新我的数据库。

HTML

<form id="23" method="post">
<select name="admin" onchange="chosenadmin(23)">
<option value="rick">rick</option>
<option value="john">john</option>
<option value="dick">dick</option>
</select>
</form>

AJAX

function changeadmin(verkochtid){
id = verkochtid;
console.log(id);
$.ajax({

url: 'winkels.php',
id: id,
type: 'POST',
data: $('#'+id).serialize(),
success: function(data, id){
console.log(this.data);
console.log(this.id);
}
});
};

PHP

if (isset($_POST["serialize"])) {
$data = $_POST["serialize"];
$medewerker = $data["chosen_admmin"];
$verkoopid = $data["id"];
$sql = "UPDATE verkocht SET medewerker_verwerkt = '$medewerker' WHERE verkocht_id='$verkoopid'";

echo $sql;
};

PHP 永远不会被执行,但在控制台日志中我可以看到表单的 id 和 admin=rick。

我可以从中看出 AJAX 获取信息并处理它,但是我如何在 PHP 中设置它?

最佳答案

序列化时,$_POST 中的数据将具有 html 中输入名称字段的索引。

您可以使用隐藏的输入字段来序列化 ID

<form id="23" method="post">
<select name="admin" onchange="chosenadmin(23)">
<option value="rick">rick</option>
<option value="john">john</option>
<option value="dick">dick</option>
</select>
<input type="hidden" name="id" value="23" />
</form>

然后你可以在你的 php 中执行以下操作:

if (isset($_POST["admin"]) && isset($_POST["id"])) {
$admin = $_POST["admin"];
$id = $data["id"];

$sql = "UPDATE verkocht SET medewerker_verwerkt = '$admin' WHERE verkocht_id='$id'";

echo $sql;
}

您可以在ajax.php中执行以下操作来检查$_POST的结构。

echo '<pre>';
print_r($_POST);
echo '</pre>';
die;

您还应该注意 SQL 注入(inject)。

关于javascript - ajax将信息发布到php $_POST中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44215516/

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