首先我要说我花了一天时间阅读有关此主题的三篇谷歌文章,并研究了这个页面here。
好的,这是我的困境。我有两个功能。两者都通过AJAX调用。第一个为变量赋值,第二个使用该变量。这两个功能都由两个单独的按钮触发,需要保持这种状态。 AJAX和函数的触发工作正常,但变量未通过。这是我的代码:
if( $_REQUEST["subjectLine"] ) //initiate first function
{
$CID = wpCreateChimpCampaign();
echo $CID; //this works
}
if( $_REQUEST["testEmails"] ) //initiate second function
{
echo $CID; //does not return anything but should contain "apple"
wpSendChimpTest($CID);
}
function wpCreateChimpCampaign () //first function
{
$CID = "apple";
return $CID;
}
function wpSendChimpTest ($CID) //second function
{
echo $CID; //does not return anything but should contain "apple"
}
我愿意上课,但我也没有太多运气。我希望不使用类来解决这个问题。感谢您的帮助!
答案 0 :(得分:1)
如果要对此文件进行2次单独调用,则可能有助于将其视为2个完全独立的文件中的2个函数。虽然它们存在于同一个PHP文件中,因为它们在不同的调用中使用调用,但它们不保留变量$ CID的值。文件运行后,该变量将被销毁,再次调用该文件时,该值将再次为空。
所以你需要在调用之间存储该变量。您可以将其存储在数据库中,也可以将其存储在会话变量中。
所以调用session_start();在文件的开头,然后使用$ _SESSION ['CID'];而不是使用$ CID;
答案 1 :(得分:0)
我不确定阻碍的位置。您拥有的代码将起作用:
$CID = wpCreateChimpCampaign(); // returns 'apple'
wpSendChimpTest($CID); // echos 'apple'
答案 2 :(得分:0)
代码看起来很好,但您确定所有要求都得到满足,因此两个函数都可以执行吗?
换句话说,您是否为$_REQUEST["subjectLine"]
和$_REQUEST["testEmails"]
提供了价值?