php实现这样的功能。

用户现在一个html网页里填写了用户名 和密码。用户输入后点 提交,就调用php文件。我现在要做的就是这个要调用的php文件。这个php文件要在一个指定的文件夹里搜索所有的txt文件。如果文件名跟用户名一样,就打开文件,读取里面的内容。
里面的数据就一行,格式是这样的:password,X,date
password是密码,X是0或者1,date是当前日期。
如果password跟密码一致,并且X=1,就打开一个html文件,文件名是: 用户名.html;如果跟密码不一致,就弹出对话框,提示:密码错误。如果跟密码一致,但X是0,就提示:未授权用户,不能操作后台。
哪位大侠给出一个参考代码。在下在此谢过。

<?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好了,还登录干啥。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-07-31

这样符合您的要求吗?

假设用户名储存在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文件的目录,就可能入侵这个网站,最好的方式是加密储存在数据库中(明文储存密码是非常危险的)。


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

本回答被提问者采纳
第2个回答  2013-07-31
思路是:

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

其实代码很比较简单的, 自己写吧.追问

谢谢。老兄能再写个大概的程序吗?追加100分

第3个回答  2013-07-31
你这个问题十分特殊,如果根据实际情况必须用这种方法解决的话,本人表示也很简单,但本人懒的去写,100分没吸引力啊。。。。。追问

写好了再加100分 怎样?拜托啦

第4个回答  2013-07-31
你为何不用数据库,想到用文件保存?把问题复杂化啊

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网