为了账号安全,请及时绑定邮箱和手机立即绑定

PHP的包括错误没有findind路径

PHP的包括错误没有findind路径

智慧大石 2019-11-04 14:14:37
我有这个小代码,实际上是一个登录脚本,它检查寄存器是否打开,并在登录按钮后显示:   <?phpinclude("../inc/db.php"); if(isset($_POST['user']) && isset($_POST['pass'])){    $password = $_POST['pass'];    $username = $_POST['user'];    $sql = "SELECT * FROM `users` WHERE `user` = '".$username."' AND `password` = '".$password."'";    $rez = $pdo->query($sql);       if($rez->fetchColumn()  > 0)    {        ...    }    else {echo '<p align="center">...</p>';}    }    else { echo '<p align="center">...</p>'; }    }    ?>    <table width="300" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC">    <tr>    <form name="form1" method="post" action="login">    <td>    <table width="100%" border="0" cellpadding="3" cellspacing="1" bgcolor="#FFFFFF">    <tr>    <td colspan="3"><strong>Member Login </strong></td>    </tr>    <tr>    <td width="78">Username</td>    <td width="6">:</td>    <td width="294"><input name="user" type="text" id="user"></td>    </tr>    <tr>    <td>Password</td>    <td>:</td>    <td><input name="pass" type="password" id="pass"></td>    </tr>    <tr>    <td>&nbsp;</td>    <td>&nbsp;</td>    <td><input type="submit" name="Submit" value="Login"></td>    </tr>    <?php $sql = "SELECT setare FROM setari WHERE nume_setare = 'OPEN_REG'";    $openreg = $pdo->query($sql)->fetch();    if($openreg['setare'] == 1)    {     ?>    <tr>    <td>&nbsp;</td>    <td>&nbsp;</td>    <td><a href="register">Inregistrare</a></td>    </tr><?php } ?>    </table>    </td>    </form>    </tr>    </table>我的问题是这一行:include(“ ../ inc / db.php”); 警告:include(E:/wamp/www//inc/db.php):无法打开流:第3行的E:\ wamp \ www \ proiect1-test \ scripts \ login.php中没有此类文件或目录:include():无法在E:\ wamp \ www \ proiect1-test \ scripts \ login.php中打开'../inc/db.php'以包含(include_path ='.; C:\ php \ pear')在第3行而且我不知道我哪里错了。路径是正确的,如果我按了登录按钮,它就起作用了。如果我按了不正确的用户名和密码组合按了登录按钮,警告就会消失。但是,当我第一次打开它时,它不包括在内。该登录文件包含在站点的索引中。
查看完整描述

3 回答

?
蓝山帝景

TA贡献1843条经验 获得超7个赞

您指向该文件的路径显然不正确。当您使用文件的相对路径,然后开始将文件放置在其他目录中时,通常会发生这种情况。您应该使用文件的完整系统路径来避免此问题:


include("/path/from/root/to/inc/db.php"); 

常见的事情是定义一个变量或常量,该变量或常量定义Web文件的根路径。这样,如果它改变了(即,您更改了主机),则只需要在一个地方进行更改。


在您的配置文件中:


define('ROOT_PATH', '/path/from/root/to/');

在您的PHP文件中;


include(ROOT_PATH . "inc/db.php"); 


查看完整回答
反对 回复 2019-11-04
?
莫回无

TA贡献1865条经验 获得超7个赞

如果这是不正确的路径,那么该脚本将根本无法工作。第一次使用时不起作用,点击登录按钮后,它可以正常工作。

查看完整回答
反对 回复 2019-11-04
  • 3 回答
  • 0 关注
  • 645 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信