【问题标题】:jQuery .post won't read PHP includejQuery .post 不会读取 PHP 包含
【发布时间】:2011-08-25 17:50:59
【问题描述】:

我从一堆 php 包含文件构建了我的网站,这些文件像模板一样工作。当我更改一个文件中的某些内容时,整个网站都会更改。

当我点击一个单选按钮时,ajax 应该被激活,它应该尝试与另一个应该连接到数据库的 php 文件通信并将信息发送回原始页面,但它无法连接到数据库,因为该文件包含 php 包含函数,并且只有在我手动将该包含文件的内容放在那里时它才会起作用。但是这样放就不行了

include("includes/connect.php");

如果我像这样手动将内容粘贴到该文件中,它将起作用

$connect = mysql_connect("localhost","root","");
mysql_select_db("demo") or mysql_error();

有没有办法让它与包含函数一起工作?

【问题讨论】:

    标签: php jquery mysql ajax include


    【解决方案1】:

    您忘记了includeclient, javascript, post 无关。 您可能包含来自错误文件夹的文件。尝试改变

    include("includes/connect.php");
    

    include(dirname(__FILE__)."/includes/connect.php");
    

    并确保includes/connect.php存在

    【讨论】:

    • 我同意,检查你的文件目录并确保文件存在
    • 补充一点:我发现通过您当前正在访问的主目录中的单个处理程序文件路由所有类型的 AJAX 调用更容易,然后将您需要的文件位置或扩展名发送为一个参数。然后您只需 include $_POST['file']$_POST['file'] 作为文件位置或扩展名。通过这种方式,您可以确保始终访问正确区域中的文件 - 即文件是否存在。
    • @Phillip 这正是 PHP 拥有如此糟糕的安全声誉的原因。 include('/etc/passwd') 发生在您的服务器上真是太好了。
    • unbeleaveable.. 我教过 jquery 与 php 包含函数存在某种冲突,但它没有,而不是我不小心忘记了 mysql 命令中的某些内容,这就是我没有的原因有有效的回应。谢谢你的帮助
    • @Marc B 不会打扰我。一旦数据到达我的处理程序页面和实际页面,我就会让它进行多次安全检查。现在,对于没有任何安全措施的人来说,这可能是个问题。 Facebook 也有很大帮助,因为我可以与他们交叉检查某些数据(无论如何我主要在他们的画布上工作)。
    【解决方案2】:

    我认为你应该使用绝对路径而不是相对路径。 尝试改变

    include("includes/connect.php");
    

    include(__DIR__ . "/includes/connect.php");
    

    您应该添加 /../../ 附近的 include 以获得正确的方式。 如果你使用 PHP5.2 而不是 __DIR__ 使用 dirname(__FILE__');

    【讨论】:

      猜你喜欢
      • 2019-01-22
      • 1970-01-01
      • 2010-12-04
      • 2013-12-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-12
      相关资源
      最近更新 更多