1

首先让我说我花了一天时间阅读了关于这个主题的三个谷歌页面的文章,并在这里研究了这个页面。

好的,这是我的困境。我有两个功能。两者都通过 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"
}

我愿意使用课程,但我在那里也没有太多运气。我希望在不使用类的情况下解决这个问题。我在这里先向您的帮助表示感谢!

4

3 回答 3

1

如果您对该文件进行 2 次单独调用,将其可视化为 2 个完全独立文件中的 2 个函数可能会有所帮助。虽然它们存在于同一个 PHP 文件中,但因为它们在不同的调用中使用了 call,所以它们不保留变量 $CID 的值。文件运行后,该变量将被销毁,当您再次调用该文件时,该值再次为 null。

因此,您需要在调用之间存储该变量。您可以将其存储在数据库中,也可以将其存储在会话变量中。

所以调用 session_start(); 在文件的开头,而不是使用 $CID,只需使用 $_SESSION['CID'];

于 2013-02-20T15:35:11.170 回答
0

我不知道搁置在哪里。您拥有的代码将起作用:

$CID = wpCreateChimpCampaign(); // returns 'apple'
wpSendChimpTest($CID);          // echos 'apple'
于 2013-02-20T15:28:56.063 回答
0

代码看起来不错,但是您确定所有要求都得到满足,因此两个函数都可以执行吗?

换句话说,您是否同时为$_REQUEST["subjectLine"]和提供值$_REQUEST["testEmails"]

于 2013-02-20T15:33:12.817 回答