将php变量从一个文件传递到另一个文件?

时间:2013-09-10 15:53:14

标签: php variables

我的主文件(main.php)中有一个变量集,需要第二个文件(uploads.php)来引用第一个文件中设置的变量。它现在正在返回undefined。

第二个文件用$ .load加载到第一个文件中:下面的代码示例 -

Main.php内容:

<?php $accountName = get_option('account_name'); ?>

<div id="uploads"></div>

<a href="#" onclick="loadUploadsFile()">Load Your Playlist</a>

function loadUploadsFile() {
     jQuery('#uploads').load('uploads.php');
}


Uploads.php文件内容

<?php echo $account_name; ?>    <== returns undefined

$url = 'http://www.somewebsite.com/' . $accountName . '/page/'

/* more code below running a query/loop etc. */


正如您可能知道的那样,我希望Uploads.php在Main.php中引用变量decleration但是没有提取值,它只是返回undefined。 Uploads.php加载到uploads div中,但如果没有设置帐户名,则内容只是空白。

我是否需要通过ajax将变量传递给Uploads.php?我已经尝试了会话变量,但无法使其工作。我正在尝试一个ajax请求,但我是新手,所以无法得到那个钉子。任何帮助都会很棒。

4 个答案:

答案 0 :(得分:2)

会话变量毕竟应该有效。确保您拥有以下内容:

Main.php

session_start();

$_SESSION["account_name"] = "test";

Uploads.php

echo $_SESSION["account_name"];

答案 1 :(得分:1)

您可以在jQuery调用中将其作为GET参数传递,如:

jQuery('#uploads').load('uploads.php?account=<?php echo($accountName);?>');

然后在您的 uploads.php 文件中从请求中获取它,如:

$accountName = $_GET['account'];

其他一些选项是将它存储在会话中,设置cookie或使用jQuery .post将其作为POST数据发送。

答案 2 :(得分:1)

由于您正在使用jQuery,因此您可能需要查看http://api.jquery.com/jQuery.post/

你的代码应该是(确实不确定)

$.post('uploads.php', { account_name: "<?= get_option('account_name') ?>" }, function(data) {
  $('.result').html(data);
});

然后您可以通过引用$_POST['account_name']在您的uploads.php中使用此变量。

PS:我假设您使用的是PHP 5.4x

答案 3 :(得分:0)

在会话中保存帐户名称

<强> Main.php

<?php 
session_start();
$accountName = get_option('account_name'); 
$_SESSION['accountName'] = $accountName;
?>

<强> Uploads.php

<?php echo $_SESSION['accountName']; ?>