多用户留言系统总结

  • 于2016-11-12首次整理

1.该项目总体的思路整理:

  数据库<----->PHP程序<------>用户界面

  简单的说就是上边的这三者之间的交互:

        (1)利用PHP程序读取数据库数据显示在用户界面上

        (2)说在界面上获取数据信息写入到数据库

  应用的主要技术:

      HTML+CSS前端页面制作

      JS辅助处理信息或验证信息

      PHP处理、存储、读取数据

  PS:对程序的理解(个人理解,不足之后补充)->不管什么样的语言最终要实现的就是,如果高效、安全、合理的处理、存储、读取数据,

                并传递给前端界面,使得前端界面做出合理的显示,完成交互。其实,最终的目的就是对数据(对象)的操作

2.必须考虑的问题,系统的安全性、合理性

  (1)数据的安全

    不能让不合法的数据存入数据库-----从用户界面获取的数据要做合理的处理,然后再存入数据库

       这里有两个问题: ①什么是不合法的数据怎么处理不合法的数据

       这两个问题是以后学习的时候重点考虑的地方

  (2)系统的合理性

    通俗的讲:系统中的每一个步骤(对象)都要有自己的身份或者说每一次访问都要可控(验证身份)。比如,不能在不登陆的情况下进行帖子的发布,或者

          系统的中的每一个文件都要进行有区别的调用,不能随意调用

3.该项目细节分析整理:

  (1)防止恶意调用----'上锁与开锁'

      $bool = defined(string $name) — 检查某个名称的常量是否存在<----->上锁过程,检查调用者是否有调用许可证

      $bool = define(string $name, $string $value[, $bool true-常量对大小写不敏感])<------>开锁过着,赋予调用者许可证(其实就是定义一个常量)

  (2)注重性能----这个问题是个大问题,现在只能列出,在以后学习中注意(可以用执行耗时来衡量性能)

      例如:绝对路径要比相对路径访问的效率更高

      函数:mixed microtime()----本函数以 "msec sec" 的格式返回一个字符串,表示当前的时间。

         int sleep(int $seconds) ----- 程序延迟执行指定的 seconds 的秒数,可以用作来测试。成功返回0

      代码:

<?php 
    // 执行耗时
    echo '开始时间结点时间:', microtime(), '<br>'; 

    echo '程序暂停1秒', sleep(1), '<br/>';

    echo '结束时间结点时间:', microtime(), '<br>';     
?>

      结果:

      可以用explode()函数分解microtime()得到的数据

      代码:   

<?php 
    // 执行耗时
    echo '开始时间结点时间:', $startTime = microtime(), '<br>'; 
    echo '----------------------', '<br>';
    //分解时间
    $startArr = explode(' ',$startTime);//以空格进行分割
    var_dump($startArr);


    echo '----------------------', '<br>'; 
    echo '程序暂停1秒', sleep(1), '<br/>';
    echo '----------------------', '<br>';
    echo '结束时间结点时间:', $endTime = microtime(), '<br>';
    echo '----------------------', '<br>';
    //分解时间
    $endArr = explode(' ',$endTime);//以空格进行分割
    var_dump($endArr);

?>

      结果:

          

   (3)PHP中全局常量(9个)-----能够快速的获取服务器的相关信息(未深入研究)

      • $GLOBALS
      • $_SERVER
      • $_GET
      • $_POST
      • $_FILES
      • $_COOKIE
      • $_SESSION
      • $_REQUEST
      • $_ENV

    (4)JS对数据的处理或验证-----整理于JS篇

    (5)二维码、分页等会分别单独整理

4.总结

  程序就是处理数据的,以这个中心展开学习,切记,勿忘!!!

  程序的重用性,可移植性是一个很重要的问题,要时刻记住,尽量应用!!!

 

原文地址:https://www.cnblogs.com/zhengfengyun/p/6056557.html