【发布时间】:2016-06-26 23:35:37
【问题描述】:
我有这个小代码,实际上是一个登录脚本,它检查注册是否打开,并在登录按钮后显示:
<?php
include("../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> </td>
<td> </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> </td>
<td> </td>
<td><a href="register">Inregistrare</a></td>
</tr><?php } ?>
</table>
</td>
</form>
</tr>
</table>
我的问题是这一行:
include("../inc/db.php"); 警告:包含(E:/wamp/www//inc/db.php):无法打开流:第 3 行的 E:\wamp\www\proiect1-test\scripts\login.php 中没有这样的文件或目录 警告:include():在 E:\wamp\www\proiect1-test\scripts\login 中打开 '../inc/db.php' 以包含 (include_path='.;C:\php\pear') 失败。 php 在第 3 行
我不知道我错在哪里。路径是正确的,如果我点击登录按钮,它就可以工作。如果我点击登录按钮的用户名和密码组合不正确,警告就会消失。但是,它不包括当我第一次打开它时。此登录文件包含在网站的索引中。
【问题讨论】:
-
如果它告诉您找不到文件,那么路径是不正确的。您应该信任那台计算机上的计算机。
-
如果路径正确,PHP 不会抱怨。在你的前端控制器中定义一个固定的路径常量并在以后引用它。
-
事实上我不明白它说它是错误的,但是使用登录按钮,我使用该文件中的信息
-
经常会遇到此错误,要快速排除故障,请按照以下步骤操作:stackoverflow.com/a/36577021/2873507