Maison > Article > développement back-end > PHP怎么实现用户登录后才可下载文件功能
PHP实现用户登录后才可下载文件功能的方法:首先通过session_start()在浏览器储存登录行为;然后使用函数isset()判断用户是否已登录,如果已登录则可以进行下载文件操作。
怎么实现php对下载文件的权限控制,比如不是登录用户不让下载?下面本篇文章给大家介绍一下PHP怎么实现用户登录后才可下载文件?有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。
PHP实现用户登录后才可下载文件
登录就是通过php进行数据库字段对比验证,若存在该字段则登录成功,不存在则无法登陆。
登录表单
login.php
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0" /> <meta name="apple-mobile-web-app-capable" content="yes"> <meta name="apple-mobile-web-app-status-bar-style" content="black"> <script type="text/javascript" src="http://tajs.qq.com/stats?sId=56441686" charset="UTF-8"></script> <meta name="format-detection" content="telephone=no"> <title>里客云 - 登录</title> <link rel="stylesheet" href="http://cdn.static.runoob.com/libs/bootstrap/3.3.7/css/bootstrap.min.css"> <script src="http://cdn.static.runoob.com/libs/jquery/2.1.1/jquery.min.js"></script> <script src="http://cdn.static.runoob.com/libs/bootstrap/3.3.7/js/bootstrap.min.js"></script> <link rel="stylesheet" type="text/css" href="likeyun.css"> </head> <body> <form role="form" action="logincheck.php" method="post"> <div class="form-group"> <div class="alert alert-danger">你需要登陆后,才可以获取本站资源!</div> <input type="text" class="form-control" id="name" name="username" placeholder="请输入账号"> <input type="password" class="form-control" id="name" name="password" placeholder="请输入密码"> <input type="submit" name="submit" class="btn btn-default" value="登陆" onclick="fn()"/> <p>没有账号?<a href="register.php">立即注册</a></p><br/> </div> </form> </body> </html>
登录处理页面。在登录过程,会通过session_start()在浏览器储存登录行为。
logincheck.php
<?php //页面编码 header("Content-type:text/html;charset=utf-8"); //隐藏报错信息 error_reporting(E_ALL^E_NOTICE^E_WARNING); //储存登录行为 session_start(); //直接把用户名赋给echo $_SESSION['echo']="$_POST[username]"; if(isset($_POST["submit"]) && $_POST["submit"] == "登陆") { $user = $_POST["username"]; $psw = $_POST["password"]; if($user == "" || $psw == "") { echo "<script>alert('用户名或密码不能为空'); history.go(-1);</script>"; } else { mysql_connect("数据库地址","账号","密码"); //连接数据库 mysql_select_db("数据库名"); //选择数据库 mysql_query("SET NAMES 'utf8'");//设定字符集 $sql = "select username,password from 表名 where username = '$_POST[username]' and password = '$_POST[password]'"; $result = mysql_query($sql); $num = mysql_num_rows($result); if($num) { $row = mysql_fetch_array($result); //验证通过后跳转 echo "<script>window.location.href='index.php';</script>"; } else { echo "<script>alert('用户名或密码不正确!');history.go(-1);</script>"; } } } else { echo "<script>alert('登录失败'); history.go(-1);</script>"; } ?>
这样就完成了登录。
下面就看看如何实现登录后才可以下载,很多网站都这样做,要登录后才可以查看或者下载一些资源的。
例如:未登录之前是显示的,想要点击下载文件需要登录后才可以。
<?php header("Content-type:text/html;charset=utf-8"); session_start(); if(isset($_SESSION['echo'])){ //如果已经登陆了,那么就可以进行下载操作 //处理代码 }else{ //如果还没登录,那么就提示登录 echo "你还没登录,请先登录。"; //强制中断程序的执行 exit(); } ?>
更多相关知识,请访问 PHP中文网!!