这是我的结构。admin文件下的index用于登录,doLogin进行验证。验证成功跳转到根目录下的index.php。
总是报这个错误。这里注释掉的echo $_SESSION['username']是正常输出的。
请问这个include到底有何讲究,还有requirerequire_once;

解决方案 »

  1.   

    路径不对啊,根据你这张截图,应该直接/admin而不是../admin
      

  2.   

    require_once $_SERVER['DOCUMENT_ROOT'].'/admin/doLogin.php';你的路径不对
    从跟目录 开始
      

  3.   

    但是我的admin/doLogin.php里面包含了configs/configs.php 。所以选择了../定位到根目录,但是还是出错了。如果是直接admin/doLogin.php就会报出configs.php包含的错误信息
      

  4.   

    一样出错的,我在admin/doLogin.php里面包含了configs/configs.php这个文件。好像是因为这个原因,根目录的index.php在包含doLogin.php的时候,index下的doLogin下的configs就报错了
      

  5.   

    index.php 和 admin 目录是平级的
    你却在 index.php 中 include('../admin/doLogin.php');
    要 include('admin/doLogin.php');
    或 include('./admin/doLogin.php');
      

  6.   

    一样出错的,我在admin/doLogin.php里面包含了configs/configs.php这个文件。好像是因为这个原因,根目录的index.php在包含doLogin.php的时候,index下的doLogin下的configs就报错了
    require_once
    require_once
    require_once
    重要的复制三遍
      

  7.   

    index.php 和 admin 同一级别的  直接使用include('admin/doLogin.php');即可
      

  8.   

    我是想确认跳转到根目录的
    如果根目录下的index改成(‘admin/doLogin.php’);就会报错:Warning: include_once(../configs/configs.php): failed to open stream: No such file or directory in E:\wamp\www\admin\doLogin.php on line 3。
    admin下的index是包含configs下的configs.php的,然后我把configs下定义的东西直接弄到doLogin.php里,就变成了action传递的username跟password未定义。。懵逼了。。
      

  9.   

    我本来想../是确认到根目录的。我在doLogin.php里包含了configs下的configs.php。如果直接include_once ('admin/doLogin.php')就会报configs找不到的错误,如果把configs里面定义的直接写到doLogin里,就直接变成提交的username,password报错了
      

  10.   

    1、你要先学会相对路径和绝对路径。根据你说的,有可能你doLogin.php中使用的include路径也错了。
    你可以试下,直接运行doLogin.php 会不会也提示 configs下的configs.php 找不到呢?
    提示错误,不代表你刚刚改的有问题。因为之前你没有引入doLogin.php 。
    2、如果把configs里面定义的直接写到doLogin里,就直接变成提交的username,password报错了。
    include 语句包含并运行指定文件,所以你完全可以把所有文件放到一起,不用include。(仅仅为了测试,观察是不是自己的代码本身就有问题)
      

  11.   

    无论如何,在与 admin 平级的 index.php 中 include admin 目录下的文件,就是错误的
    至于 在 admin/doLogin.php 又要 include 上级目录 configs 下的 configs.php 就是你的文件布局有问题了
    文件布局应满足向下引用的原则,但你没有遵守你可以将 admin/doLogin.php 中的
    include ‘../configs/configs.php';
    改为绝对路径引用 
    include __DIR__ . '/' . ‘../configs/configs.php';
      

  12.   

    其实是看的一个视频,他里面用了根目录下带有include.php,然后用了define("ROOT", dirname(__FILE__));
    set_include_path(".".PATH_SEPARATOR.ROOT."/lib".PATH_SEPARATOR.ROOT."/core".PATH_SEPARATOR.ROOT."/admin".PATH_SEPARATOR.ROOT."/configs".PATH_SEPARATOR.get_include_path());的方法,因为出问题所以我直接自己写了的,感觉是自己布局上有问题。我把布局改一下,谢谢~~~~~~
      

  13.   

    包含configs是没有问题的,我测试过,感觉应该是文件布局问题,但是很奇怪我全放在一个文件里的话,就莫名其妙的报错Undefined index: username  明明只是action的简单传递。。布局上我直接把configs.php放在admin里了。谢谢········
      

  14.   

    还有这个undefined username跟password的问题,如果我账号密码写错会提示账号密码错误,如果写对了就会跳转到登录首页,然后就开始提示undefined username的问题了
      

  15.   

    ./admin/