1

我正在使用 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>";
     } ?>

有什么方法可以从这里访问被调用文件中的变量。我尝试使用全局,就像包含文件的情况一样,但这在这里不起作用。

4

2 回答 2

0

您可以考虑使用 $_SESSION 变量来设置对您的被调用者文件和 getdata.php 都可用的变量。

于 2013-05-30T12:41:46.093 回答
0

为什么不把它们放在请求中?`类似的东西

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

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

然后在 getdata.php

$user_id = $_GET['user_id'];

对于数据库连接,您可以创建一种包含在每个脚本中的配置文件

配置文件

function getDBConnection() {
   blah...blah ...
   return $con;
}

在 getdata.php 中,就像在每个需要它的脚本中一样:

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

出于安全原因,如果您的配置文件包含密码、登录名等...请将其放在您的 web 目录之外。

于 2013-05-30T13:21:51.533 回答