Heim  >  Artikel  >  Backend-Entwicklung  >  PHP怎么实现用户登录后才可下载文件功能

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

PHPz
PHPzOriginal
2016-06-06 20:14:212111Durchsuche

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中文网!!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn