gpt4 book ai didi

javascript - 如何在提交表单时将 PHP 变量传递到 Javascript cookie 中?

转载 作者:行者123 更新时间:2023-12-03 06:56:15 25 4
gpt4 key购买 nike

我正在设置一个要在我的 WordPress 网站中使用的自定义表单。我想做的是获取该提交的 AUTO_INCRMENT ID,并在提交表单时将其传递到 Javascript cookie 中。目前ID正在工作,但是因为直到提交表单后才获取ID,所以我很难弄清楚如何在提交表单后立即将变量传递到cookie中(目前我必须提交在创建具有 ID 的 cookie 之前,两次表单,其数字比应有的小 1,因为它是后面提交的)。

这是我目前拥有的:

<?php
if(isset($_POST["submit"])) {
$name = $_POST['full_name'];
$city = $_POST['city'];
$state = $_POST['state'];
$email = $_POST['email'];

$wpdb->insert(
'reps',
array(
'name' => stripslashes($name),
'city' => stripslashes($city),
'state' => stripslashes($state),
'email' => stripslashes($email)
)
);

$lastid = $wpdb->insert_id;
}
?>
<script>
$('#dealer-form').submit(function() {
var repID = '<?php echo $lastid ?>';
setCookie('ID', repID);
});
</script>

正如我提到的,这段代码适用于第二次提交(因为变量在第一次提交时没有值),并且 ID 后面有 1 个数字,因为它在重新分配变量值之前获取了上一次提交的 ID。

最佳答案

PHP 是一种服务器端脚本语言,在数据发送到浏览器之前执行。 JavaScript 是一种客户端脚本语言,浏览器一遇到脚本就会执行。

您的方法是忘记前端和后端之间的这种分离。

要完成您想要做的事情,只需在在 php 中提交表单时输出 setCookie 调用即可:

<?php
if(isset($_POST["submit"])) {
$name = $_POST['full_name'];
$city = $_POST['city'];
$state = $_POST['state'];
$email = $_POST['email'];

$wpdb->insert(
'reps',
array(
'name' => stripslashes($name),
'city' => stripslashes($city),
'state' => stripslashes($state),
'email' => stripslashes($email)
)
);

$lastid = $wpdb->insert_id;

printf( '<script>setCookie("ID", %d);</script>', $lastid );
}
?>

关于javascript - 如何在提交表单时将 PHP 变量传递到 Javascript cookie 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37260159/

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