gpt4 book ai didi

php - 使用 AJAX 将变量传递给 PHP 数组

转载 作者:可可西里 更新时间:2023-11-01 00:46:01 25 4
gpt4 key购买 nike

我已经查看了与此主题相关的各种其他问题,但我仍在努力寻找解决我的问题的方法。

在我的系统中,我允许管理员将额外的表单节点附加到文件,以便他们可以输入任何额外的所需数据,然后将这些数据提交给数据库以在网站的主要部分生成页面。

我对通过 AJAX 传回数据的概念很陌生,所以我可能误解了一些东西,但这是我的代码。

添加节点控件

<div id="nodeControl">
<div id="addNode">
<a id="nodeLink" href="#">+</a>
</div>
</div>

<div id="slideOut">Click to add a new section</div>

添加节点点击响应功能

var nodeCount = 2;
$("#nodeLink").click(function(){
// Local Variables
var newSection = '<br/><div id="sectionInfo"><div id="sectionWrap"><div id="sectionInner"><label class="inst head">Section ' + nodeCount + '</label><input class="textOver" type="text" name="sectionTitle' + nodeCount + '" value="<?php $title; ?>"> <label class="inst ib">Please enter any text you would like associated with the section.</label> <textarea style="margin-top: 3px" name="sectionContent' + nodeCount + '" value="<?php $body; ?>"></textarea> <label class="inst ib">Please upload the image associated with this section, .PNG reccomended.</label> <input type="file" style="visibility:hidden;" name="img' + nodeCount + '" id="upload" /> <input type="button" id="fileStyle" class="fSOver" value="Upload Pump Image!" /> </div> </div> </div>' ;

// Append the new section to the document and increment the node count
$('#sections').append(newSection);
nodeCount += 1;


// Call AJAX to pass to PHP
$.ajax({
type: "POST",
url: "../section.php",
data: { setSection : newSection },
success: function() {
alert("Success, ajax parsed");
}
});

$(".successDiv").slideDown(150);
$(".successDiv").delay(1500).slideUp(150);

return false;
});

节点计数在此处实例化为“2”,当添加节点时,该数字将附加到我表单上任何输入元素的名称属性,即 header2、header3 等。这样当我的表单最终提交时,我可以遍历每个数据字段并将其提交到数据库。

据我目前了解,AJAX 数据变量使用 key 对 { a : b } ,其中 a = return keyb = return value ,我希望 PHP 能够访问该返回值并将其存储到一个可以在最后循环的数组中。目前,成功消息是在我的 AJAX 调用上触发的,但我无法访问 PHP 中的值,而是抛出了“未定义的部分定义索引”。

$section = array();
$setSection = $_POST['setSection'];
$section[] = $setSection;

最佳答案

PHP 不会随时间存储您传递给它的每个 setSection 变量;每次调用脚本时,都会重置其变量。您可能希望将变量存储在数据库或 session 变量中。

这是一种方法,使用 session variables :

session_start(); // unless you already started one
if (!isset($_SESSION['section'])) {
$_SESSION['section'] = array();
}
array_push($_SESSION['section'], $_POST['setSection']);

关于php - 使用 AJAX 将变量传递给 PHP 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18637042/

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