在通过jQuery加载的PHP中使用全局变量

时间:2013-05-30 12:34:38

标签: php jquery load

我正在使用jquery函数来调用这样的getdata.php文件 -

       $("#tasks").load("getdata.php?choice=" + $("#projects").val()); 

getdata.php将结果动态回传给被调用者。

<?php   //getdata.php                       
    global $user_id; //<--These variables are defined in the callee file
    global $con;
    $choice=$_GET['choice'];
    $query="SELECT task_id,title from tasks where user_id=$user_id AND proj_id=$choice";
    $result=mysqli_query($con,$query) or die(mysqli_error($con));
    if((mysqli_num_rows($res))!=0)
    {
        while (list($task_id, $title) = mysqli_fetch_row($result))
          {
           echo "<option value=$task_id>$title</option>";   
      }
     }
     else
     {
        echo "<option>No current Tasks</option>";
     } ?>

有什么办法可以从这里访问callee文件中的变量。我尝试使用全局,因为通常是包含文件的情况,但这不起作用。

2 个答案:

答案 0 :(得分:0)

您可以考虑使用$ _SESSION变量来设置可用于callee文件和getdata.php的变量。

答案 1 :(得分:0)

为什么不把它们放在请求中? “喜欢

 $("#tasks").load("getdata.php?choice=" + $("#projects").val() + "&user_id=" + user_id;

(如何将PHP变量传递给js,因为已经在SO上得到了很多答案)

然后在getdata.php

$user_id = $_GET['user_id'];

对于数据库连接,您可以创建一种包含在每个脚本

上的配置文件

的config.php

function getDBConnection() {
   blah...blah ...
   return $con;
}
在getdata.php中的

和每个需要它的脚本一样:

require_once yourpath/config.php;
$con = getDBConnection();

出于安全原因,如果您的配置文件包含密码,登录等,请将其放在外面 你的网站目录。