gpt4 book ai didi

php - 通过 jQuery 发送 PHP 变量到登陆页面,同时跳过第三方提交脚本?

转载 作者:行者123 更新时间:2023-12-01 04:59:56 26 4
gpt4 key购买 nike

我的目标是根据 WordPress 中定义的自定义字段设置 Google 转化值。转换脚本位于登陆页面上,因此我需要将自定义字段数据从表单获取到登陆页面。我无法使用 GET 或 POST,因为表单提交是由第三方处理的,并且不会将任何数据返回到实际的着陆页。

所以我尝试使用 PHP session ,但是这个第三方妨碍了使用 PHP,因为它自己保留了所有数据。

这是我希望能够发挥作用的方法:

  • 表单的验证是使用 jQuery 工具完成的。
  • 然后,我需要在验证成功后通过 jQuery/AJAX 将变量提交到单独的 php 文件。
  • 然后,当登录页面开始加载时,我必须从提到的 PHP 文件中获取该变量,并在相关位置回显它。

我认为我实际上不需要使用表单在页面上启动 session ,因为 jquery 直接从输入中获取数据,而不是任何 session 数据。这是我的输入和转化值:

<input type="hidden" id="conv" name="conv" value="90">

然后我的表单验证:

    $("#course-form-modal").validator().submit(function(e)  {
// when data is valid
if (!e.isDefaultPrevented()) {

// this grabs the value from my form
var con_val = $("#conv").val();
// and this sends it...
$.post(
"../../usersession.php",
{ data: con_val }
);

}

});

然后我在 usersession.php 中得到了代码...我发送数据的地方:

// As I'm just trying to echo what was sent to this page, via ajax, I shouldn't need to worry about starting/retrieving a SESSION yet... right?
<?php $var_value = $_POST['data']; ?>
<div id="results">
<?php echo $var_value ?>
</div>

//我可以稍后再担心这个问题。现在我只想在 UserSession.PHP 上回显我的结果//

最后,我在登陆页面上找到了从 usersession.php 检索数据的代码:

session_start();
$var_value = $_SESSION['conv'];
echo $var_value;

我不完全确定所有这些代码都适合初学者,我更像是一个前端人员......

-编辑-

是的,我很确定代码至少现在是正确的。由于某种原因它仍然无法正常工作。目前我想知道WordPress是否会阻止我从我的javascript文件写入usersessions.php(作为引用,该文件路径在我的工作(不工作)示例中绝对设置)?我知道当您尝试直接访问文件时,WordPress 有时会抛出 404 错误。另一个潜在问题可能与第三方软件 vanillasoft 有关。我的表单的操作标记中有一个指向他们脚本的链接,是否可以以某种方式绕过/终止表单 > usersession.php > 和登陆页面之间的数据发送/接收?

顺便说一句,如果有人对如何测试 usersession.php 是否正在接收数据有好主意,请告诉我?我最初确实有这段代码,但它什么也不返回,如果我在发送某些内容后直接链接到该文件(例如将文件网址粘贴到我的浏览器中),它会返回“0”...

if(isset($_POST['conv'])) {
session_start();
$_SESSION['conv'] = $_POST[''conv''];
echo "1";
} else {
echo "0";
}

最佳答案

在输入端设置您的 ID。 jQuery 正在寻找 ID,但您只设置了名称。

<input type="hidden" name="conv" value="90">

应该是:

<input type="hidden" name="conv" id="conv" value="90">
<小时/><小时/>

编辑:

不敢相信我没有早点发现这一点。您的问题出在 usersession.php 的以下行中。

$_SESSION['conv'] = $_POST[''conv''];

您引用的 POST 错误。应该是:

$_SESSION['conv'] = $_POST['conv'];
<小时/><小时/>

编辑(回复:新的 js 编辑)

在你的java脚本中,你的帖子变量应该这样格式化:

{ name: "John", time: "2pm" }

所以你的行应该是这样的:

$.post(
'../../usersession.php',
{
conv: $("#conv").val()
},
function(data)
{
alert("Data Loaded: " + $("#conv").val());
}
);

关于php - 通过 jQuery 发送 PHP 变量到登陆页面,同时跳过第三方提交脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11104445/

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