面包屑思维模型实战模型错题集结构手册流程手册自我检测专题模块

  • 微信小程序前端
    微信小程序前端易错点收集
    查看
  • css/less/sass样式控制
    在开发过程中的一些样式控制bug规避
    查看
  • tp5开发小程序
    tp5开发小程序时错误积累
    查看
  • PHP错题集
    PHP在实际开发过程中遇到的问题
    查看
  • MySql数据库
    使用MySql在实际开发中遇到的错误总结
    查看
  • TP5错题集
    积累tp5框架在实际开发过程中遇到的问题
    查看
  • uni-app爬坑
    主要用于uni-app项目中遇到的一些问题
    查看
  • Vue.js易错收集
    vue.js项目常见错误收集整理
    查看
  • uni-app开发微信小程序
    uni-app开发微信小程序的一些爬坑积累
    查看
  • Linux
    Linux在部署、开发、运维时遇见的错误积累
    查看
  • 安全设计
    常见安全设计
    查看
  • Redis
    项目中使用redis的相关错误积累
    查看
  • 前端特效
    前端特效相关错题集
    查看
more

最新博文

  • bootsrap模态框弹出闪退问题

    css/sass/less

    风口下的猪2019-06-09css/sass/less

    阅读更多
  • data-toggle,data-dismiss,data-target用法

    css/sass/less

    Bootstrap 使用data-toggle,data-dismiss,data-target这些属性,是为了给元素绑定事件,而终止元素原本的默认行为。

     

    一.要领:
    1.data-toggle指以什么事件触发,常用的如modal,popover,tooltips,collapse,dropdown等;
    2.data-target:指事件的目标,一般用于button标签里面,后面的参数是响应的标签对应的ID;
    3.data-dismiss:标记点击后消失;

     

     

    二.说明:

    例子1

    <a id="signin-button" class="pull-right" href="login.html" data-toggle="modal" data-target="#signin-signup-tab">Sign In</a>

    这段代码的意思是指将#signin-signup-tab这个Dom元素的内容以模态框的形式展示。

     

    例子2

    <ul>  <li class="active"><a href="#tab1" data-toggle="tab">Tab1</a></li></ul>

    在这段代码中,data-toggle="tab"将属性转换成了tab属性,所以当a元素添加了data-toggle=“tab”之后其默认跳转的特性将被移除。

     

    例子3

    <button class="navbar-toggle collapsed" type="button" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false"><span class="sr-only">Toggle navigation</span></button>
    <div id="bs-example-navbar-collapse-1" class="collapse navbar-collapse">

    <ul class="nav navbar-nav">

    <li class="active"><a href="#">Link <span class="sr-only">(current)</span></a></li>

    <li><a href="#">Link</a></li>

    </ul>

    <div>

    .collapse 类用于指定一个折叠元素 (实例中的<div>); 点击按钮后会在隐藏与显示之间切换。
    控制内容的隐藏与显示,需要在 <a> 或 <button>元素上添加 data-toggle="collapse" 属性。 data-target="#id" 属性是对应折叠的内容。

     

     

    三.注意点
    <a>元素上你可以使用 href 属性来代替 data-target 属性:

    风口下的猪2019-06-09css/sass/less

    阅读更多
  • bootstrap折叠

    css/sass/less

    一.要领:这里有三点需要注意:

    第一,添加 data-toggle="collapse" 到您要点击的链接上,用来展开或折叠组件;

    第二,添加一个 href 或一个 data-target 属性到父组件,它的值为子组件的 id;

    第三,添加一个 data-parent 属性用来创建手风琴式的效果。data-parent 属性的值与主容器 div (保存整个手风琴组件)的 id 属性的值相同。如果您想要创建一个简单的折叠组件,不需要像手风琴那么复杂,就不需要添加这个属性。

     

    二.实例

     

    <div class="navbar-header">

    <button class="navbar-toggle collapsed" type="button" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
    <span class="sr-only">Toggle navigation</span>

    </button>
    <a class="navbar-brand" href="#">Brand</a></div>
    <!-- Collect the nav links, forms, and other content for toggling -->
    <div id="bs-example-navbar-collapse-1" class="collapse navbar-collapse">
    <ul class="nav navbar-nav">
    <li class="active"><a href="#">Link <span class="sr-only">(current)</span></a></li>
    <li><a href="#">Link</a></li>
    <li class="dropdown"><a class="dropdown-toggle" role="button" href="#" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Dropdown </a>
    <ul class="dropdown-menu">
    <li><a href="#">Action</a></li>
    <li><a href="#">Another action</a></li>
    <li><a href="#">Something else here</a></li>
    <li class="divider" role="separator"></li>
    <li><a href="#">Separated link</a></li>
    <li class="divider" role="separator"></li>
    <li><a href="#">One more separated link</a></li>
    </ul>
    </li>
    </ul>
    <form class="navbar-form navbar-left">
    <div class="form-group"><input class="form-control" type="text" placeholder="Search" /></div>
    <button class="btn btn-default" type="submit">Submit</button>

    </form>
    <ul class="nav navbar-nav navbar-right">
    <li><a href="#">Link</a></li>
    <li class="dropdown"><a class="dropdown-toggle" role="button" href="#" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Dropdown </a>
    <ul class="dropdown-menu">
    <li><a href="#">Action</a></li>
    <li><a href="#">Another action</a></li>
    <li><a href="#">Something else here</a></li>
    <li class="divider" role="separator"></li>
    <li><a href="#">Separated link</a></li>
    </ul>
    </li>
    </ul>
    </div>
    <!-- /.navbar-collapse -->

    风口下的猪2019-06-09css/sass/less

    阅读更多
  • Sessionid和Token的区别

    软件开发

    1、session出现的原因

    因为http协议本身是无状态的,这样你本次请求和上次请求无法判断是不是同一个人操作的。

    2、session的生成方式

    浏览器在第一次访问服务器时,服务器会创建一个session,然后同时为该session生成一个唯一的会话sessionid。然后将sessionid和session存储到缓存/数据库中,然后服务器再把sessionid(名字为JSESSIONID的cookie),以cookie形式发送给客户端。

    浏览器再次访问时会携带cookie中的sessionid,然后服务器根据sessionid找到对应的session进行匹配。如果浏览器禁用了cookie/不支持cookie,可以通过URL重写的方式发送到服务。

    3、token出现的原因

    session的存储是需要空间的,session的传输一般都是通过cookie来传输,或url重写的方式。token在服务器时可以不用存储用户信息的,token传递的方式也不限于cookie传递,token也可以保存起来。

    4、token的生成方式

    浏览器第一次访问服务器时,会传过来一个唯一表示ID,服务端通过算法,加密钥,生成一个token。通过BASE64编码后将token发送给客户端。客户端将token保存起来,下次请求带着token,服务器收到请求会用相同的算法取验证toekn,如果通过就继续执行。

    token组成:uid(用户唯一的身份标识)、time(当前时间的时间戳)、sign(签名,由token的前几位+盐以哈希算法压缩成一定长的十六进制字符串,可以防止恶意第三方拼接token请求服务器)。还可以把不变的参数也放进token,避免多次查库

    5、token和session的区别

    共同点:都是保存了用户身份信息,都有过期时间。

    session翻译为会话,token翻译为令牌。

    session是空间换时间,token是时间换空间。

    session和sessionid:服务器会保存一份,可能保存到缓存/数据库/文件。

    token:服务器不需要记录任何东西,每次都是一个无状态的请求,每次都是通过解密来验证是否合法。

    sessionid:一般是随机字符串,要到**服务器检索id的有效性。**出现请求:服务器重启饿内存中的session没了,数据库服务器挂了。

    风口下的猪2019-06-09软件开发

    阅读更多
  • sessionId的生成过程和过期时间

    软件开发

    浏览器第一次请求服务器时,服务器会生成一个sessionId,并返回给浏览器,这个sessionId会被保存在浏览器的会话cookie中。如下图



    在浏览器不关闭的情况下,之后的每次请求请求头都会携带这个sessionId到服务器。如下图



    session在服务器的默认有效时间是30分钟,可以通过3种方式去设置session的过期时间(具体那三种可以百度),下面通过代码的方式设置session过期时间为180秒

    request.getSession().setMaxInactiveInterval(30*6);

    在第二次请求3分钟后我们进行第三次请求,这个时候服务器中原有的session已经过期,所以服务器会生成一个新的sessionId返回给浏览器,并替换掉cookie中之前的sessionId,第三次请求cookie携带的还是之前的sessionId。如下图



    浏览器再次请求,cookie就会携带新的sessionId到服务器,如下图



    通过sessionId我们可以做登陆过期,会话期间无需二次登陆等功能。


    风口下的猪2019-06-09软件开发

    阅读更多
  • session理解(1)

    软件开发

    一.session的组成部分

    session由两部分组成,session变量和session id

    1.session变量保存在服务器端;

    2.session id则以cookie的形式保存在客户端。

    二.客户端向服务器传递session id的两种方式

    cookie 方式URL跨页方式

    (一)cookie方式

    当用户的浏览器向服务器提出请求时,同时发送包含session id的cookie(默认情况下)。服务器根据客户端提供的session id来得到用户的文件,即保存在服务器端的session变量值。事实上,session id可以使用客户端的Cookie来传送给服务器,然后服务器读取Session的目录……。也就是说,session id是取得存储在服务器上的session变量的身份证。

    (二)URL跨页方式

    PHP中的session在默认情况下是使用客户端的Cookie来保存session id的,所以当客户端的cookie出现问题的时候就会影响session了。必须注意的是:session不一定必须依赖cookie,这也是 session相比cookie的高明之处。当客户端的Cookie被禁用或出现问题时,PHP会自动把session id附着在URL中,这样再通过session id就能跨页使用session变量了。

    但这种附着也是有一定条件的:

    其一:"php.ini中的session.use_trans_sid = 1或者编译时打开打开了--enable-trans-sid选项";

    其二:运行PHP的服务器必须是unix/linux系统,windows不具备此项功能

     

    跨页方式又包含三种:

    (1)php自动跨页传递session id;

    (2)手动通过URL传值、隐藏表单传递session id;

    (3)用文件、数据库等形式保存session_id,在跨页过程中手动调用。

     

    第一种:php自动跨页传递session id

    通过设置php.ini中的session.use_trans_sid = 1或者编译时打开了--enable-trans-sid选项”

    page1.php

    session_start();

    $_SESSION['var1']="全栈";

    $url="下一页";

    echo $url;

    ?>

    page2.php

    session_start();

    echo "传递的session变量var1的值为:".$_SESSION['var1'];

    ?>

    运行以上代码,在客户端cookie正常的情况下,应该可以在得到结果“全栈”。
    现在你手动关闭客户端的cookie,再运行,可能得不到结果了吧。如果得不到结果,再“设置php.ini中的session.use_trans_sid = 1或者编译时打开打开了--enable-trans-sid选项”,又得到结果“全栈”。

    第种:手动通过URL传值、隐藏表单传递session id

    s1.php

    session_start();

    $_SESSION['var1']="中华人民共和国";

    $sn = session_id();

    $url="下一页";    //PHP5定义了一个常量SID来表示session_id(),$url还可以写成$url='下一页';

    echo $url;

    ?>

    s2.php

    session_id($_GET['s']);

    session_start();

    echo "传递的session变量var1的值为:".$_SESSION['var1'];

    ?>

    第三种:用文件、数据库等形式保存session_id,在跨页过程中手动调用

    login.html

    html="">HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

    Login

    请登录:

    用户名:

    口 令:

    mylogin1.php

    $name=$_POST['name'];

    $pass=$_POST['pass'];

    if(!$name || !$pass) {

    echo "用户名或密码为空,请重新登录";

    die();

    }

    if (!($name=="laogong" && $pass=="123")) {
    echo "用户名或密码不正确,请重新登录";
    die();

    }

    //注册用户

    ob_start();

    session_start();

    $_SESSION['user']= $name;

    $psid=session_id();

    $fp=fopen("e://tmp//phpsid.txt","w+");

    fwrite($fp,$psid);

    fclose($fp);

    //身份验证成功,进行相关操作

    echo "已登录
    ";

    echo "下一页";

    ?>

    mylogin2.php

    $fp=fopen("e://tmp//phpsid.txt","r");

    $sid=fread($fp,1024);

    fclose($fp);

    session_id($sid);

    session_start();

    if(isset($_SESSION['user']) && $_SESSION['user']="laogong" ) {
    echo "已登录!";

    }

    else {
    //成功登录进行相关操作
    echo "未登录,无权访问";
    echo "请登录后浏览";
    die();

    }

    ?>

    风口下的猪2019-06-09软件开发

    阅读更多
  • array_push()数据时,使用其返回值

    PHP

    在实际开发过程中,往往会涉及到将多数据“压”入到数据中。参照php官方手册,得知array_push()的返回值是新数组的长度,其主要是帮助原数组扩充数据,并没有得到新的数组。

    即要想使用新数组数据

    错的做法:

    $test=($yuan,$a);调用$test

    正确的做法:

    $test=($yuan,$a);调用$yuan。$test的值是int类型,表示新数组长度。

    风口下的猪2019-06-09PHP

    阅读更多
  • echo()、halt()、dump()、print()、print_r()的区别

    PHP

    一.echo()

    可以一次输出多个值,多个值之间用逗号分隔。echo是语言结构(language construct),而并不是真正的函数,因此不能作为表达式的一部分使用。

    【其不能输出数组。】



    二.print()

    函数print()打印一个值(它的参数),如果字符串成功显示则返回true,否则返回false。

    【其只能打印字符串,为字符串时返回成功】



    三.print_r()

    可以把字符串和数字简单地打印出来,而数组则以括起来的键和值得列表形式显示,并以Array开头。但print_r()输出布尔值和NULL的结果没有意义,因为都是打印"\n"。因此用var_dump()函数更适合调试。


    四.halt()和dump()

    两者很相似,打印出来的内容很清楚很规范。所以,在实际开发过程中,经常用以打印数据,测试数据是否正常传输以及分析数据。



    五.var_dump()

    判断一个变量的类型与长度,并输出变量的数值,如果变量有值输的是变量的值并回返数据类型。此函数显示关于一个或多个表达式的结构信息,包括表达式的类型与值。数组将递归展开值,通过缩进显示其结构。


    一般开发中使用halt()和dump()就够了,必要时再用var_dump()

    风口下的猪2019-06-09PHP

    阅读更多
  • find()和select()和value()的区别

    thinkphp

    find()是向数据表请求一条数据时使用;

    select()是向数据表请求多条数据时使用。

    而value('字段')是向数据请求某个字段的值

    风口下的猪2019-06-09thinkphp

    阅读更多
  • PHP Cookie

    PHP

    Cookie 是什么?

    cookie 常用于识别用户。cookie 是一种服务器留在用户计算机上的小文件。每当同一台计算机通过浏览器请求页面时,这台计算机将会发送 cookie。通过 PHP,您能够创建并取回 cookie 的值。

    一.如何创建 Cookie?

    setcookie() 函数用于设置 cookie。

    注意:setcookie() 函数必须位于 <html> 标签之前。

    语法:setcookie(name, value, expire, path, domain);

    例子1:

    <?php
    setcookie("user", "runoob", time()+3600);
    ?>

    在上面的例子中,我们将创建名为 "user" 的 cookie,并为它赋值 "runoob"。我们也规定了此 cookie 在一小时后过期:

    例子2:

    <?php
    $expire=time()+60*60*24*30;
    setcookie("user", "runoob", $expire);
    ?>

    在上面的实例中,过期时间被设置为一个月(60 秒 * 60 分 * 24 小时 * 30 天

    二.如何取回 Cookie 的值?

    1.PHP 的 $_COOKIE 变量用于取回 cookie 的值。

    <?php
    // 输出 cookie 值
    echo $_COOKIE["user"];
    
    // 查看所有 cookie
    print_r($_COOKIE);
    ?>

    2.我们使用 isset() 函数来确认是否已设置了 cookie:

    <?php
    if (isset($_COOKIE["user"]))
        echo "欢迎 " . $_COOKIE["user"] . "!<br>";
    else
        echo "普通访客!<br>";
    ?>

    三.如何删除 Cookie?

    当删除 cookie 时,可以使过期日期变更为过去的时间点。

    删除的实例:

    <?php
    // 设置 cookie 过期时间为过去 1 小时
    setcookie("user", "", time()-3600);
    ?>

    风口下的猪2019-06-09PHP

    阅读更多
  • PHP Session

    PHP

    PHP session 变量用于存储关于用户会话(session)的信息,或者更改用户会话(session)的设置。Session 变量存储单一用户的信息,并且对于应用程序中的所有页面都是可用的。

    一.PHP Session 变量

    在计算机上操作某个应用程序时,打开它,做些更改,然后关闭它。这很像一次对话(Session)。计算机知道你是谁。它清楚你在何时打开和关闭应用程序。然而,在因特网上问题出现了:由于 HTTP 地址无法保持状态,Web 服务器并不知道你是谁以及你做了什么。

    PHP session 解决了这个问题,它通过在服务器上存储用户信息以便随后使用(比如用户名称、购买商品等)。然而,会话信息是临时的,在用户离开网站后将被删除。如果你需要永久存储信息,可以把数据存储在数据库中。

    Session 的工作机制是:为每个访客创建一个唯一的 id (UID),并基于这个 UID 来存储变量。UID 存储在 cookie 中,或者通过 URL 进行传导。

    二.开始 PHP Session

    在把用户信息存储到 PHP session 中之前,首先必须启动会话。

    
    注释:session_start() 函数必须位于 <html> 标签之前:

    <?php session_start(); ?>
    <html>
    <body>
    </body>
    </html>

    上面的代码会向服务器注册用户的会话,以便可以开始保存用户信息,同时会为用户会话分配一个 UID。

    三.存储 Session 变量

    存储和取回 session 变量的正确方法是使用 PHP $_SESSION 变量:

    <?php
    session_start();
    // 存储 session 数据
    $_SESSION['views']=1;
    ?>
    <html>
    <head>
    <meta charset="utf-8">
    <title>菜鸟教程(runoob.com)</title>
    </head>
    <body>
    <?php
    // 检索 session 数据
    echo "浏览量:". $_SESSION['views'];
    ?>
    </body>
    </html>

    四.销毁 Session

    如果希望删除某些 session 数据,可以使用 unset() 或 session_destroy() 函数。

    1.unset() 函数用于释放指定的 session 变量:

    <?php
    session_start();
    if(isset($_SESSION['views']))
    {
        unset($_SESSION['views']);
    }
    ?>

    2.通过调用 session_destroy() 函数彻底销毁 session:

    注意:session_destroy() 将重置 session,将失去所有已存储的 session 数据。

    <?php
    session_destroy();
    ?>

    风口下的猪2019-06-09PHP

    阅读更多
  • 软件开发
  • 素质要求
  • 计算机基础
  • 架构
  • 安全
  • 性能
  • 运维
  • 尾页
  • 数据库
  • 开发终端
  • 语言基础
  • 项目管理
  • 产品设计
  • 系统
  • 工作规范
  • 计算机网络
  • 前端技术栈
  • 数据结构
  • 计算机组成原理
  • 后端技术栈
  • 性能优化
  • 安全设计
  • 常见模块
  • 计算机操作系统
  • 服务器
  • python
  • MySQL
  • thinkphp
  • PHP
  • Java
  • JavaScript
  • Windows
  • Linux
  • 特效
  • indexedDB
  • vue
  • 淘宝联盟
  • Ionic
  • Angular
  • 微信小程序
  • 支付宝小程序
  • uni-app
  • css/sass/less
  • 支付
  • socket
  • 爬虫
  • web性能优化
  • 消息推送
  • CVM
  • sqlite
  • Redis
  • 前端基础
  • 基础
  • element
  • Nginx
  • yii2
  • /ponder/index/catelist/catelist/cateid/10.html

    我的名片

    网名:风口下的猪

    职业:软件开发、广告传媒

    现居:重庆渝北

    Email:kamoneyte@qq.com

    标签云

    站点信息

    • 文章统计:528篇
    • 移动端访问:扫码进入SQ3R