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

}

原文地址:https://www.cnblogs.com/y0umer/p/2809636.html