zoukankan      html  css  js  c++  java
  • 采用smarty开发的小论坛的学习总结

    采用smarty开发的一个个人小论坛

    1)include 公共文件 最好使用include引入,

    例如:页面的header 或者图片,还有底部的显示

    一般是公共的

    2)数据库的查询 插入 更新 删除

    执行之后的提示 使用:

    控制器:例如

    $sql="insert into topics(bid,title,content,post_time) values ('$bid','".$_POST['title']."','".$_POST['content']."',now())";

    $query->query($sql);

    $smarty->assign('ok',1);

    V输出模板文件上使用:

    {if $ok}发表成功!

    {else}

    .........

    {/if}

    3)客户端输入数据的检测和判断

     最佳的使用是js判断 原因是分工明确,易于维护,这是在客户端做的判断

     其次是在服务器上面判断,这个成本高,容易降低服务器效率,但是判断是准确度是最高的

     3)跨页面数据的查询

     使用session保存机制,在夸页面的事实 session具有临时保存的功能

     在控制器里面判断管理员是否登录, 还有在模版文件输出使用:{$smarty.session.username}

     4)获取数据;

     POST主要用于表单的提交的数据,GET主要是获得URL的数据, 例如对某条信息删除 修改 选择 都可以通过get获得id

     5)URL的解析

     常规:<a href="edit.php?id={$item.id}">修改</a>

     <a href="delete.php?id={$item.id}">删除</a>

     这个样的话需要写2个模版

     常用URL;

     <a href="ad_board.php?action=edit&id={$result[u].id}"><b>修改</b></a>

     <a href="ad_board.php?action=del&id={$result[u].id}" )">删除</a>

     控制器:----可以根据action的不同,调用不同的方法,在一个页面写 减收页面数量,在$_POST['submit']获得表单

     //删除板块

    if($_GET['action']=='del'&&isset($_GET['id'])){

    $id=$_GET['id'];

    $sql="delete from boards where id=".$id."";

    // echo $sql;

    $query->query($sql);

    $smarty->assign('ok',1);

    $smarty->display("ad_userdel.tpl");

    }

    //修改板块信息

    if($_GET['action']=='edit'&&isset($_GET['id'])){

    $sql="select * from boards where id='".$_GET['id']."'";

    $q=$query->query($sql);

    $res=$query->fetch_array($q);

    $smarty->assign('info',$res);

    if(isset($_POST['submit'])){

    $sql="update boards set board_name='".$_POST['board_name']."' , board_desc='".$_POST['board_desc']."',build_time=now() where id='".$_POST['id']."'";

    // echo $sql;

    $query->query($sql);

    $smarty->assign('ok',1);

    }

    $smarty->display('ad_boardedit.tpl');

    }

  • 相关阅读:
    UVA1452|LA4727-----Jump------经典的约瑟夫公式的变形(DP)
    ORM框架Hibernate (四) 一对一单向、双向关联映射
    heaters
    对SIGQUIT的实验 & Java dump
    【Todo】单例模式各种实现方式及并发安全
    【转载】Spark系列之运行原理和架构
    git本地文件回滚操作
    Java异常与运行时异常,以及与线程的关系
    Callable与Future、FutureTask的学习 & ExecutorServer 与 CompletionService 学习 & Java异常处理-重要
    Linux系统负载排查
  • 原文地址:https://www.cnblogs.com/y0umer/p/2809636.html
Copyright © 2011-2022 走看看