PHP网页如果需要查看信息必须输入密码,验证后才可显示出内容的代码如何实现啊?

一个PHP网站,有个栏目是下载,但是不想让任何人都可以下载,需要输入正确密码后才可以下载,用JS脚本只用来检查密码有没有输入,输入之后,提交表单给页面自身,就是actio... 一个PHP网站,有个栏目是下载,但是不想让任何人都可以下载,需要输入正确密码后才可以下载,用JS脚本只用来检查密码有没有输入,输入之后,提交表单给页面自身,就是action="",然后判断输出不同的DIV,页面初始时显示输入密码框DIV,输入密码后,如果密码错误,依然显示输入密码的DIV,只有密码正确,才给出下载地址的DIV,这个下载地址不能一开始就从数据库里读出来,要判断正确密码了才从数据库取出,保证安全性,请问这个思路的代码大致怎么实现啊?
解决了会提高悬赏分的!谢谢!
展开
 我来答
zhangc_8866
2016-01-06 · TA获得超过1277个赞
知道小有建树答主
回答量:2826
采纳率:82%
帮助的人:294万
展开全部
新建一个PHP文件如下:

<?php
header('Content-type:text/html;charset=utf-8');
$password = "1234"; // 这里是正确密码
$p = "";
if(isset($_COOKIE["isview"]) && $_COOKIE["isview"] == $password){
$isview = true;
}else{
if(isset($_POST["pwd"])){
if($_POST["pwd"] == $password){
setcookie("isview",$_POST["pwd"],time()+3600*0.2);
$isview = true;
}else{
$p = (empty($_POST["pwd"])) ? "需要密码才能查看,请输入密码。" : "密码不正确,请重新输入。";
}
}else{
$isview = false;
$p = "请输入密码查看,获取密码可联系我。";
}
}

if($isview){ ?>

密码成功显示的内容

<?php }else{ ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns=" http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="pragma" content="no-cache" />
<meta http-equiv="cache-control" content="no-cache" />
<meta http-equiv="expires" content="0" />
<title>测试</title>
<!--[if lt IE 6]>
<style type="text/css">
.z3_ie_fix{
float:left;
}
</style>
<![endif]-->
<style type="text/css">
<!--
body{
background:none;
}
.passport{
border:1px solid red;
background-color:#FFFFCC;
width:400px;
height:100px;
position:absolute;
left:49.9%;
top:49.9%;
margin-left:-200px;
margin-top:-55px;
font-size:14px;
text-align:center;
line-height:30px;
color:#746A6A;
}
-->
</style>
<div class="passport">
<div style="padding-top:20px;">
<form action="" method="post" style="margin:0px;">输入查看密码
<input type="password" name="pwd" /> <input type="submit" value="查看" />
</form>
<?php echo $p; ?>
</div>
</div>
</body>
</html>
<?php
} ?>
百度网友750422284
2011-11-09 · 超过17用户采纳过TA的回答
知道答主
回答量:73
采纳率:0%
帮助的人:31.4万
展开全部
首先第一个未验证下载页面上的链接提交给密码验证页面一个ID。当验证成功页面之后页面显示ID所对应的下载地址。当验证失败。一直显示验证页面。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
圈圈的爸爸
2011-11-09 · 超过23用户采纳过TA的回答
知道答主
回答量:106
采纳率:0%
帮助的人:66万
展开全部
1 初始页面(index )输入密码(form表单提交) -> 2 判断密码的对错 ->如果错的,返回输入界面(index)
|
|对的
从数据库读取数据读取数据并显示出来,(这是另外一个页面咯)
如果你不想再写一个页面的话
我记得 js 里面有一个 什么东西,是显示层 跟 隐藏层的 你去写两个js 触发时间吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
majiguang
推荐于2017-09-25 · TA获得超过757个赞
知道小有建树答主
回答量:1024
采纳率:0%
帮助的人:1361万
展开全部
$right_pwd="123456";
if($_POST['form_pwd']==$right_pwd)
{
echo "<div id=\"downloadUrl\"><a href=\"download.php\">去下载</a></div>";
}
else
{
echo "<div id=\"formDiv\"><form name=\"f1\" method=\"post\" action=\"\">";
echo "<input type=password name=form_pwd>";
echo "<input type=submit value=\"提交密码\"></form></div>";
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式