【发布时间】:2013-03-27 15:50:43
【问题描述】:
我在第一页“login.php”中有这个
<?php
session_start();
$msg='';
if ((isset($_POST))&& (!empty($_POST)))
{
require_once('log.php') or die(mysql_error());
$p=md5($pass);
if (login($login,$p))
{
header('location:index.php');;
}
else
{
$msg="Login ou mot de passe incorrect";
}
}
?>
log.php:
$req="SELECT * FROM admin WHERE login='$e' and password='$p'";
$res=mysql_query($req) or die(mysql_error()."\n".$req);
if(mysql_num_rows($res)!=0)
{
$data=mysql_fetch_assoc($res);
$_SESSION['adm']=array('code'=>$data['code'], 'login'=>$data['login']);
return true;
mysql_close();
}
else return false;
}?>
如果我测试第一页“login.php”我得到了这个:
警告:require_once(1):打开流失败:没有这样的文件或 第 6 行 C:\xampp\htdocs\admin\login.php 中的目录
致命错误:require_once():打开失败需要 '1' (include_path='.;C:\xampp\php\PEAR') 在 C:\xampp\htdocs\admin\login.php 在第 6 行
【问题讨论】:
-
检查您的 log.php 是否在 login.php 所在的同一目录中。还要检查文件权限。
-
检查文件名和位置是否正确位于给定位置
-
Please, don't use
mysql_*functions in new code. 他们不再维护and are officially deprecated。看到 red box 了吗?改为了解 prepared statements,并使用 PDO 或 MySQLi - this article 将帮助您决定哪个。 -
我检查过了!一切似乎都是正确的!我看不出问题出在哪里!?
-
这个
SELECT * FROM admin WHERE login='$e' and password='$p'允许SQL注入攻击。请阅读它们。尝试在 require_once 之后删除 ` 或 die()`,如果文件不存在,它将导致退出。
标签: php