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');

    }

  • 相关阅读:
    Android Studio 开发
    Jsp编写的页面如何适应手机浏览器页面
    电影
    Oracle 拆分列为多行 Splitting string into multiple rows in Oracle
    sql server 2008 自动备份
    WINGIDE 激活失败
    python安装 错误 “User installations are disabled via policy on the machine”
    ble编程-外设发送数据到中心
    iOS开发-NSString去掉所有换行及空格
    ios9 字符串与UTF-8 互相转换
  • 原文地址:https://www.cnblogs.com/y0umer/p/2809636.html
Copyright © 2011-2022 走看看