php实现这样的功能。

用户现在一个html网页里填写了用户名和密码。用户输入后点提交,就调用php文件。我现在要做的就是这个要调用的php文件。这个php文件要在一个指定的文件夹里搜索所有的t... 用户现在一个html网页里填写了用户名 和密码。用户输入后点 提交,就调用php文件。我现在要做的就是这个要调用的php文件。这个php文件要在一个指定的文件夹里搜索所有的txt文件。如果文件名跟用户名一样,就打开文件,读取里面的内容。
里面的数据就一行,格式是这样的:password,X,date
password是密码,X是0或者1,date是当前日期。
如果password跟密码一致,并且X=1,就打开一个html文件,文件名是: 用户名.html;如果跟密码不一致,就弹出对话框,提示:密码错误。如果跟密码一致,但X是0,就提示:未授权用户,不能操作后台。
哪位大侠给出一个参考代码。在下在此谢过。
展开
 我来答
百度网友a19d193
2013-07-31 · TA获得超过3446个赞
知道大有可为答主
回答量:1464
采纳率:100%
帮助的人:1449万
展开全部
<?php
if (empty($_POST['username']) || empty($_POST['password'])) die('请输入用户名密码');
$path = 'd:/test/';//txt文件的保存目录
$user = trim($_POST['username']);
$pass = trim($_POST['password']);
if (! file_exists($path . $user . '.txt') die('无效的用户名');
$rows = file($path . $user . '.txt');//读入文件内容到数组
if (empty($rows[0])) die('该文件的第一行没有内容,不符合格式要求');
$data = explode(',', $rows[0]);//用逗号分隔内容到数组,分隔后$data[0]是密码,$data[1]是状态0,1
if (trim($data[0]) != $pass) die('密码不对');
$data[1] = trim($data[1]);
if (empty($data[1])) die('未授权');
header('Location:' . $user . '.html');
exit;

代码基本就上面这样了,自己试试吧。

说实话你这个东西没什么用,只要知道用户名就直接在地址栏敲用户名.html好了,还登录干啥。

Alljhatv
2013-07-31 · TA获得超过681个赞
知道小有建树答主
回答量:408
采纳率:87%
帮助的人:190万
展开全部

这样符合您的要求吗?

假设用户名储存在POST数据的username中,密码储存在POST数据的password中:

<?php
// 判断是否有用户名和密码的数据
if(!isset($_POST['username']) OR !isset($_POST['password'])) {
  die('请登录');
}

$dir='目录名';
$filename=$dir.$_POST['username'].'.txt';
if(file_exists($filename)) { // 判断用户名是否存在
  $auth=explode(',', file_get_contents($filename));
  if($_POST['password']===$auth[0] AND $auth[1]==='1') {
    echo file_exists($_POST['username'].'.html')?file_get_contents($_POST['username'].'.html'):'对不起,这个页面不存在';
  }
  elseif($_POST['password']===$auth[0] AND $auth[1]==='0') {
    echo '您是未授权用户,不能操作后台。';
  }
  else {
    echo '密码错误。';
  }
}
else {
  echo '您没有注册,或用户名不正确。';
}
unset($dir,$filename,$auth); // 变量用完就注销是个好习惯
?>


希望对您有帮助,谢谢!

有什么问题就尽管问吧。


不过这样很不安全,如果骇客(不是黑客)*找到了这个存放txt文件的目录,就可能入侵这个网站,最好的方式是加密储存在数据库中(明文储存密码是非常危险的)。


*:黑客和骇客都是指电脑技术高超的人,但前者是干好事的,后者是干坏事的,不要弄混了。

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wudipaopao
2013-07-31 · TA获得超过797个赞
知道小有建树答主
回答量:1486
采纳率:0%
帮助的人:803万
展开全部
思路是:

1- load指定的文件夹里搜索所有的txt文件名 放到cache里面
2- 比较在cache中文件名和输入
3- 返回比较结果和输出

其实代码很比较简单的, 自己写吧.
追问
谢谢。老兄能再写个大概的程序吗?追加100分
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友b271deb
2013-07-31 · TA获得超过142个赞
知道答主
回答量:30
采纳率:0%
帮助的人:31.2万
展开全部
你这个问题十分特殊,如果根据实际情况必须用这种方法解决的话,本人表示也很简单,但本人懒的去写,100分没吸引力啊。。。。。
追问
写好了再加100分 怎样?拜托啦
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
njumwx
2013-07-31 · TA获得超过327个赞
知道小有建树答主
回答量:868
采纳率:0%
帮助的人:437万
展开全部
你为何不用数据库,想到用文件保存?把问题复杂化啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式