标签分类
当前位置:首页 > 行业软件及应用电子书 > 交互设计电子书网盘下载
简约至上:交互式设计四策略 简约至上:交互式设计四策略
sargeguo

sargeguo 提供上传

资源
14
粉丝
15
喜欢
73
评论
15

    简约至上:交互式设计四策略 PDF 扫描第2版

    交互设计电子书
    • 发布时间:

    给大家带来的一篇关于交互设计相关的电子书资源,介绍了关于简约至上、交互式设计方面的内容,本书是由人民邮电出版社出版,格式为PDF,资源大小36.3 MB,贾尔斯编写,目前豆瓣、亚马逊、当当、京东等电子书综合评分为:7.5,更多相关的学习资源可以参阅 行业软件及应用电子书、等栏目。

  • 简约至上:交互式设计四策略 PDF 下载
  • 下载地址:https://pan.baidu.com/s/1MXemRgopEKuZhD5yY-zZFA
  • 分享码:z7t6
  • 简约至上:交互式设计四策略

    简约至上:交互式设计四策略(第2版)详细介绍交互式设计的技术性与方法,叙述怎样从总体目标客户的要求和期待去往,融合人们自身的心理特点和个人行为特点,用简易的方式建立易用、合理且让客户愉快的设计。书中诠释了有效删掉、层次机构、适度掩藏和恰当迁移这4个令人机交互成效较大水平简易易用的策略。第2版依据近些年人机交互行业的实践活动和发展趋势,对书中实例开展了全方位升级。

    目录

    • 第1章 话说简单 1
    • 第2章 愿景:一张蓝图绘到底 21
    • 第3章 简约四策略 63
    • 第4章 删除 83
    • 第5章 组织 135
    • 第6章 隐藏 163
    • 第7章 转移 185
    • 第8章 最后的话 209

    读书笔记

    PHP MYSQL简易交互式站点开发

    目的:使用PHP和MYSQL模拟权限管理系统的实现

    general用户只能查看其他用户信息,不能进行修改,添加,和删除操作,root用户可以完成以上三种操作。

    实现思路

    1.在MySQL数据库中建立两张数据表。一张数据表保存用户名和密码,用于登陆验证,另一张保存用户权限等基本信息。
    2.提交表单登陆时,先在数据库中查找该用户存不存在,若不存在,报错,存在,则验证密码,密码错误则报错,若密码正确,登陆显示所有存储在数据库中的用户信息和当前登陆用户名。
    3.在用户进行添加,删除操作时,先判断权限是否足够,有权限则完成相应操作,修改数据库内容,否则提示没有权限

    具体实现

    1.登陆页面

    <center>
     <form method="post" action="<?php echo $_SERVER['SCRIPT_NAME'] ?>">
     用户名: <input type="text" name="user_name">
     密码: <input type="text" name="password">
     <input type="Submit" name="submit" value="登陆">
     </form>
    </center>
    

    效果如下:

    PHP MYSQL简易交互式站点开发

    2.连接数据库对登陆名和密码进行验证

    //登陆处理
     if (isset($_POST['submit'])) 
     {
      // 用户名输入为空
      if($_POST['user_name'] == '')
      // 调用javascript函数动态提醒
      echo "<script type='text/javascript'>dis_alert(\"用户名\",1);</script>";// 密码输入为空
      if($_POST['password'] == '')
      // 调用javascript函数动态提醒
      echo "<script type='text/javascript'>dis_alert(\"密码\",1);</script>";
      // 用户名与密码均不为空
      $user_name = $_POST['user_name'];
      //链接数据库,从中读出用户名和密码
      $db = mysql_connect("localhost", "root", "123456");
      mysql_select_db("linyimin", $db);
      $result = mysql_query("select * from login where user_name = '$user_name'");
      $num = mysql_num_rows($result);
      //判断用户输入的用户名存在,验证密码
      if($num != 0)
      {
      $user_name = mysql_result($result,0,'user_name');
      $password = mysql_result($result,0,'password');
      if(strcmp($password,$_POST['password']) != 0)
      {
       echo "密码错误";
       //密码错误,报错
       $password = $_POST['password'];
       echo "<script type='text/javascript'>dis_alert('密码错误',3);</script>";
      }
      // 密码正确
      else
      {
       session_unset();
       session_start();
       $_SESSION['user_name'] = $_POST[user_name];
       header("Location:http://localhost/display.php");
       exit;
      }
      }
      // 用户输入的用户名不存在,报错 
      else if($num == 0)
      {
      // 用户名不存在,报错
      $user_name = $_POST['user_name'];
      echo "<script type='text/javascript'>dis_alert(\"$user_name\",2);</script>";
      }
      mysql_close($db); 
     }//登陆处理结束
    

    输入错误提醒函数

    <script type="text/javascript">
    
    // 登陆错误提醒
    function dis_alert(var1, var2)
    {
     // 用户名和密码不能为空提醒
     if(var2 == 1)
     {
     alert(var1 + " 不能为空,请重新输入");
     history.back(-1);
     }
     // 用户名不存在错误提醒
     if(var2 == 2)
     {
     alert("该用户名 " + var1 + " 不存在,请重新输入");
     history.back(-1);
     }
     // 密码错误提醒
     if(var2 == 3)
     {
     alert("密码错误,请重新输入");
     history.back(-1);
     }
    }
    
    </script>
    
    

    错误提醒效果图:

    PHP MYSQL简易交互式站点开发

    3.成功登陆之后显示数据库中所有用户信息和当前登陆用户名

    // 获取登陆名
    session_start();
    $NAME = $_SESSION['user_name'];
    // 连接数据库,获取数据并显示
    function display()
    {
     global $NAME;
     $db = mysql_connect("localhost", "root", "123456");
     mysql_select_db("linyimin",$db);
     $sql = "select * from admin_info";
     $result = mysql_query($sql);
     // 显示信息表
     echo "<h3 align=right color=#FFFFFF> 当前用户:$NAME</h6>";
     echo "<table border = 0 align = center width = 1000></br>";
     // 添加超链接
     echo "<tr align = center><th> <a href =\"display.php?add=yes\">ADD</a></th><br>";
     // 修改添加超连接
     echo "<th> <a href =\"display.php?update=yes\">UPDATE</a></th><br>";
     // 删除超链接
     echo "<th> <a href =\"display.php?delete=yes\">DELETE</a></th></tr><br>";
     echo "</table>";
     echo "<table border = 2 align = center width = 1000></br>";
     // 表头
     echo "<tr><th colspan=\"3\">管理员权限表</th></tr><br>";
     echo "<tr align = center><td>姓名</td><td>权限</td><td>职务</td></tr><br>";
     while($row = mysql_fetch_row($result))
     {
     // 显示管理员信息并通过超链接调用处理函数
     echo "<tr align = center><td>$row[0]</td>";
     echo "<td>$row[1]</td>";
     echo "<td>$row[2]</td></tr>";
     }
     echo "</table>";
     mysql_close($db);
    }
    

    显示效果如下:

    PHP MYSQL简易交互式站点开发

    4.修改,删除,添加操作的实现

    修改,添加页面

    <center>
     <form method="post" action="<?php echo $_SERVER['URL'] ?>">
     姓名: <input type="text" name="user_name">
     权限: <input type="text" name="pemission">
     职务: <input type="text" name="position">
     <input type="Submit" name="update" value="提交">
     </form>
    </center>
    

    效果如下:

    PHP MYSQL简易交互式站点开发

    删除页面

     <center> 
     <form method="post" action="<?php echo $_SERVER['URL'] ?>" onsubmit="return confirm('请确认删除');">
     姓名: <input type="text" name="user_name">
     <input type="submit" name="update" value="删除">
    </center>
    

    效果图如下:

    PHP MYSQL简易交互式站点开发

    实现

    // 调用修改函数
    if ($_GET[update]) 
    {
     modify("update");
    }
    // 调用添加函数
    elseif($_GET[add])
    {
     modify("add");
    }
    elseif($_GET[delete])
    {
     modify("delete");
    }
    

    modify()函数的实现

    // 修改数据函数
    /*
    点击修改超链接,跳转到修改页面
    表单中,名字项指定要修改记录
    权限和职务项为可修改内容
    */
    function modify($operation)
    {
     if(isset($_POST['update']))
     {
     // 有root权限修改,修改
     if($operation == "update" && judge("update"))
     {
      $user_name = $_POST[user_name];
      $sql = "UPDATE admin_info SET pemission = '$_POST[pemission]', position ='$_POST[position]' WHERE user_name = '$user_name'";
      mysql_query($sql);
      mysql_close($db);
      display();
     }
     // 添加
     elseif(judge("add") && $operation == "add")
     {
      $user_name = $_POST[user_name];
      $sql = "insert into admin_info (user_name, pemission, position) values ('$_POST[user_name]','$_POST[pemission]','$_POST[position]')";
      mysql_query($sql);
      mysql_close($db);
      display();
     }
     // 删除
     elseif(judge("delete") && $operation == "delete")
     {
      $user_name = $_POST[user_name];
      // 获取确认情况
      $sql = "delete from admin_info where user_name = \"$user_name\"";
      mysql_query($sql);
      }
     }
    }
    

    judge()函数的实现

    // 判断修改用户名是否存在和该用户是否具有权限
    function judge($operation)
    {
     global $NAME;
     // 修改用户名
     $user_name = $_POST['user_name'];
     // 连接数据库,获取数据
     $db = mysql_connect("localhost", "root", "123456");
     mysql_select_db("linyimin",$db);
     // 该用户是否存在
     $sql = "select * from admin_info where user_name = \"$user_name\"";
     $result = mysql_query($sql);
     $num = mysql_num_rows($result);
     // 输入名称不存在
     if ($num == 0 && $operation != "add")
     {
      $user_name = $_POST['user_name'];
      echo "<script type='text/javascript'>dis_alert(\"$user_name\",2);</script>";
      return 0;
     }
     else
     {
      // 判断有没有权限(只有root权限可以修改)
      $sql = "select * from admin_info where user_name = \"$NAME\"";
      $result = mysql_query($sql);
      $pemission = mysql_result($result,0,'pemission');
      // 没有root权限,报错
      if(strcmp($pemission,"root") != 0)
      {
      $user_name = $_POST['user_name'];
      echo "<script type='text/javascript'>dis_alert(\"$user_name\",1);</script>";
      return 0;
      }
      else 
      return 1;
     } 
    }
    

    常用技巧记录

    1.利用session实现多个php文件使用同一个变量的方法

    在定义该变量的文本中打开session,并把值存入session

    usersession_unset();
    session_start();
    $_SESSION['变量名'] = "值";
    

    在使用该变量的文本中打开session并取出该变量

    session_start();
    $NAME = $_SESSION['变量名'];
    

    2.PHP连接MYSQL数据库,并对数据库进行查找,添加,删除操作

    连接数据库

    // 连接数据库
    $db = mysql_connect("url", "用户名", "密码");
    // 选择数据库
    mysql_select_db("数据库名称",$db);
    

    查找

    $sql = "select * from admin_info where 字段名 = \"查找值\"";
    $result = mysql_query($sql);
    // 对查找返回结果进行操作
    // 获取查找返回记录数条数
    $num = mysql_num_rows($result);
    // 获取查找结果第一条记录的user_name字段值
    $user_name = mysql_result($result,0,'user_name');
    // 逐条取出查询记录
    while($row = mysql_fetch_row($result))
    {
     相关操作;
    }
    

    插入

    $sql = "insert into 数据表 (字段1, 字段2, 字段3) values ('值1','值2','值3')";
    mysql_query($sql);
    

    删除

    $sql = "delete from 数据表 where 字段名 = \"查找值\"";
    mysql_query($sql);
    // 关闭数据库
    mysql_close($db);
    

    3.表格提交前提醒

    <form method="post" action="url" onsubmit="return confirm('请确认删除');">

    4.在php中调用javascript函数

    <?php
    echo "<script type='text/javascript'>javascript函数;</script>";
    ?>
    

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持码农之家。

    上一篇:爱上processing  下一篇:Matlab R2016a从入门到精通

    展开 +

    收起 -

    码小辫二维码
     ←点击下载即可登录

    交互设计相关电子书
    学习笔记
    网友NO.944409

    微信小程序与后台PHP交互的方法实例分析

    本文实例讲述了微信小程序与后台PHP交互的方法。分享给大家供大家参考,具体如下: 接下来将讲后台如何与前台进行数据及图片之间的交互,相信这一点是很多人所关注的,因为当时我实在团队中负责后台开发,因此对前端不是特别了解,这里我会贴出前端开发时的部分代码截图,微信小程序的官方api介绍地址是: https://mp.weixin.qq.com/debug/wxadoc/dev/api/api-network.html 微信与后台服务器之间的数据通信是调用 wx.request(OBJECT) 实现的,官方api接口里有对此说明, 例如前台向后台发送数据,需要链接服务器php作用路径下的具体php文件,并以key-value形式封装json格式数据,请看以下代码: url是服务器的域名及isbn.php在服务器的位置,这个位置是相对位置,在我上一篇购买的镜像里默认php文件路径为: /yjdata/www/ ,这就意味着直接放在这个文件夹下的php只需要在域名后直接/+*.php即可,如果为了方便管理在这个目录下建了一个文件夹则在域名后/文件夹名字/*.php即可。 此外前端向后台传输的数据是以json格式封装的,如图中的data里写的数据,前面是key,后面是具体的value值,后台取得时候是要根据前面的key值取值,此外,method决定了后台与前台通过什么方式交流,这里是用的GET方法,后台与前台方法必须配对使用,不能一个是GET,另一端……

    网友NO.491387

    复选框和Struts2后台交互代码详解

    本文研究的主要是Struts框架中复选框的相关内容。复选框在web开发中用的非常广泛,具体介绍如下。 案例 如下图,当前为用户选中的水果为"香蕉",点击按钮,跳转到修改界面进行修改。 跳转到修改界面后要回显用户的选择(香蕉),然后由用户再次进行勾选,如图: 前台界面: body form action="checBoxAction_test.action" method="post" 请选择您喜欢的水果:br input type="checkbox" name="fruits" value="香蕉"/香蕉 input type="checkbox" name="fruits" value="雪梨"/雪梨 input type="checkbox" name="fruits" value="西瓜"/西瓜/br input type="submit" value="跳转到修改界面进行修改" /form /body 后台ChecBoxAction.java代码: public class ChecBoxAction extends ActionSupport {private static final long serialVersionUID = 1L;/*前台通过复选框选中的水果名称*/private String fruits;public String getFruits() {return fruits;}public void setFruits(String fruits) {this.fruits = fruits;}public String test(){/*没去除空格之前*/System.out.println(this.getFruits());/*获取从前台穿过来的字符串(注:这里必须去除空格,因为传过来的每个值之间除了有逗号分隔符之外还都有空格,但是通过trim()的方式是去不掉空格的)*///String fruitStr = this.getFruits().trim(); /*必须如是这般才能去掉空格*/String fruitStr = this.getFruits().replaceAll(" ", "");System.out.println("去除空格之后的字符串:" + fruitStr……

    网友NO.302807

    浅谈Fetch 数据交互方式

    获取资源很简单,发起一个请求出去,一个响应进来,然后该怎么操作就怎么操作。 fetch 的 api 使用的是 promise 规范,不会 promise(用于延迟(deferred) 计算和异步(asynchronous ) 计算。 一个 Promise 对象代表着一个还未完成,但预期将来会完成的操作。主要使用它处理回调黑洞。) 的请花几分钟学习一下。 使用 fetch 去获取数据的方式: fetch("服务器地址") .then(function(response) { //将获取到的数据使用 json 转换对象 return response.json(); }) .then(function(data) { //获取转换后的格式 console.log(data); }) //如果有异常会在 catch 捕获 .catch(function(e) { console.log("error"); }); 有没有发现使用 fetch 后代码变优美了,不关心数据怎么请求的,把更多的精力放在处理数据上。 不用写回调函数了,也不用监听 xhr readystatechange 事件了,当数据请求回来后会传递给 then, 有异常就会直接触发 catch 事件。 fetch 默认发起的是 get 请求,如果需要 post 请求需要设置 Request Request Request 客户端向服务器发出请求的一个对象,包括用户提交的信息以及客户端的一些信息 使用 Request 构造一个 fetch 请求的对象的详细信息 //实例化 request 对象var myRequest = new Request(url, Option);fetch(myRequest) .then(function(response) { console.log(response); }) //如果有异常会在 catch 捕获 .catch(function(e) { console.log("error");……

    网友NO.625970

    web中拖拽排序和java后台交互实现方法示例

    一、业务需求 1,在后台的管理界面通过排序功能直接进入排序界面 2,在排序界面能够人工的手动拖动需要排序的标题,完成对应的排序之后提交 3,在app或者是前端就有对应的排序实现了 本文将详细介绍web拖拽排序和java后台交互的相关内容,下面话不多说了,来一起看看详细的介绍吧 二、页面展示 将整体页面效果展示出来之后如图所示(页面点击确定之后的效果是与java后台进行交互的): 三、设计思路: 后台:如果需要将排序的结果保存到数据库,那么必须要修改数据库中对应的起码一个字段(排序的序号sort),那么后台需要至少接收的参数有sort和id两个字段。我这边采用的是将这两个字段封装到对象,并且采用集合的方式传递给后台,因为对应的修改必须是针对数据库中需要排序的所有数据的操作。当然可以根据不同的业务实施不同的排序方式 前端:a,实现拖拽功能;b,需要能够提供实时的序列号sort和该序列号指定的id 四、前端设计: 1,下载插件:只需点击超链接,下载drag.zip并解压,就会自动转为drag.js文件,引用即可 2,代码实现: A页面中代码: !--起始的页面-- div class="listMain" div class="addData" ul class="dataList" id="dataList${var.ID }" c:forEach items="${varList }" var="movieParam" varStatus="varSatus" li class="dataList_Child" input type="hidden……

    Copyright 2018-2019 xz577.com 码农之家

    版权责任说明