gpt4 book ai didi

javascript - 将 php session 变量从 jquery、ajax 传递到 PHP 谢谢页面

转载 作者:行者123 更新时间:2023-12-02 16:01:09 25 4
gpt4 key购买 nike

我已经尝试解决这个问题有一段时间了。

我正在使用 jquery ajax post 使用 home.php 上的 session 变量将表单数据发送到thankyou.php,然后使用表单中的数据将用户(window.location.href='')重定向到thankyou.php在 home.php 上打印出thankyou.php。

此外,转移到thankyou.php 的数据会通过电子邮件发送给用户。

我尝试这样做,以便用户不会在thankyou.php末尾看到查询字符串。

每次我测试它时,我的 session 数据都不会保留,但当发送电子邮件时,它会包含所有数据。

有人可以告诉我我是否做错了什么吗? jQuery 可以将 session 数据传递到 php 页面吗?

这是我的代码:

home.php

<?php
session_start();
?>

<script>
var formData = $('form').serialize();
$.post('thankyou.php', formData, function(){
$('form').submit();
window.location.href = '/thankyou.php;
});
</script>

谢谢.php

<?php

session_start();

$_SESSION['name'] = $_POST['name'];
$_SESSION['email'] = $_POST['email'];
$_SESSION['phone'] = $_POST['phone'];

echo $_SESSION['name'];
echo $_SESSION['email'];
echo $_SESSION['phone'];

?>

最佳答案

$('form').submit(); - 第一次调用,将 $_POST 变量存储到 $_SESSION

window.location.href = '/thankyou.php; - 第二次调用,用未定义的 $_POST 替换 $_SESSION 变量

$_SESSION['name'] = $_POST['name'];
$_SESSION['email'] = $_POST['email'];
$_SESSION['phone'] = $_POST['phone'];

尝试这样的事情:

if(isset($_POST) && $_POST) {
$_SESSION['name'] = $_POST['name'];
$_SESSION['email'] = $_POST['email'];
$_SESSION['phone'] = $_POST['phone'];
}

echo $_SESSION['name'];
echo $_SESSION['email'];
echo $_SESSION['phone'];

关于javascript - 将 php session 变量从 jquery、ajax 传递到 PHP 谢谢页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31190652/

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