Maison  >  Article  >  développement back-end  >  PHP怎么实现用户登录后才可下载文件功能

PHP怎么实现用户登录后才可下载文件功能

PHPz
PHPzoriginal
2016-06-06 20:14:212112parcourir

PHP实现用户登录后才可下载文件功能的方法:首先通过session_start()在浏览器储存登录行为;然后使用函数isset()判断用户是否已登录,如果已登录则可以进行下载文件操作。

PHP怎么实现用户登录后才可下载文件功能

怎么实现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>

1.png

登录处理页面。在登录过程,会通过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[&#39;echo&#39;]="$_POST[username]";
 
if(isset($_POST["submit"]) && $_POST["submit"] == "登陆")  
    {  
        $user = $_POST["username"];  
        $psw = $_POST["password"];  
        if($user == "" || $psw == "")  
        {  
            echo "<script>alert(&#39;用户名或密码不能为空&#39;); history.go(-1);</script>";  
        }  
        else  
        {  
            mysql_connect("数据库地址","账号","密码");   //连接数据库  
            mysql_select_db("数据库名");  //选择数据库  
            mysql_query("SET NAMES &#39;utf8&#39;");//设定字符集  
            $sql = "select username,password from 表名 where username = &#39;$_POST[username]&#39; and password = &#39;$_POST[password]&#39;";  
            $result = mysql_query($sql);  
            $num = mysql_num_rows($result);  
            if($num)  
            {  
                $row = mysql_fetch_array($result);  
                //验证通过后跳转 
                echo "<script>window.location.href=&#39;index.php&#39;;</script>";
            }  
            else  
            {  
                echo "<script>alert(&#39;用户名或密码不正确!&#39;);history.go(-1);</script>";  
            }  
        }  
    }  
    else  
    {  
        echo "<script>alert(&#39;登录失败&#39;); history.go(-1);</script>";  
    }
?>

这样就完成了登录。

下面就看看如何实现登录后才可以下载,很多网站都这样做,要登录后才可以查看或者下载一些资源的。

例如:未登录之前是显示的,想要点击下载文件需要登录后才可以。

<?php
header("Content-type:text/html;charset=utf-8");
session_start();
 if(isset($_SESSION[&#39;echo&#39;])){
//如果已经登陆了,那么就可以进行下载操作
//处理代码

}else{
//如果还没登录,那么就提示登录
echo "你还没登录,请先登录。";
 
//强制中断程序的执行
exit();
}
?>

更多相关知识,请访问 PHP中文网!!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn