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,就提示:未授权用户,不能操作后台。
哪位大侠给出一个参考代码。在下在此谢过。 展开
里面的数据就一行,格式是这样的:password,X,date
password是密码,X是0或者1,date是当前日期。
如果password跟密码一致,并且X=1,就打开一个html文件,文件名是: 用户名.html;如果跟密码不一致,就弹出对话框,提示:密码错误。如果跟密码一致,但X是0,就提示:未授权用户,不能操作后台。
哪位大侠给出一个参考代码。在下在此谢过。 展开
5个回答
展开全部
<?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好了,还登录干啥。
展开全部
这样符合您的要求吗?
假设用户名储存在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文件的目录,就可能入侵这个网站,最好的方式是加密储存在数据库中(明文储存密码是非常危险的)。
*:黑客和骇客都是指电脑技术高超的人,但前者是干好事的,后者是干坏事的,不要弄混了。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
思路是:
1- load指定的文件夹里搜索所有的txt文件名 放到cache里面
2- 比较在cache中文件名和输入
3- 返回比较结果和输出
其实代码很比较简单的, 自己写吧.
1- load指定的文件夹里搜索所有的txt文件名 放到cache里面
2- 比较在cache中文件名和输入
3- 返回比较结果和输出
其实代码很比较简单的, 自己写吧.
追问
谢谢。老兄能再写个大概的程序吗?追加100分
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你这个问题十分特殊,如果根据实际情况必须用这种方法解决的话,本人表示也很简单,但本人懒的去写,100分没吸引力啊。。。。。
追问
写好了再加100分 怎样?拜托啦
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你为何不用数据库,想到用文件保存?把问题复杂化啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询