zoukankan      html  css  js  c++  java
  • 2016/05/05 smarty ① 登录 ②主页面 ③删除 ④让缩略信息显示完整 (补:增加 修改 )

    共  八个页面  

    ①login.php   

    1 <?php 
    2 include("init.inc.php");
    3 
    4 $smarty->display("login.html");
    5  ?>

    ②login.html  显示模板  在templates模板文件夹中

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>Document</title>
     6 </head>
     7 <body>
     8     <h1>登录页面</h1>
     9     <form action="chuli.php" method="post">
    10         <div>用户名:<input type="text" name="uid"></div>
    11         <div>&nbsp;&nbsp;&nbsp;&nbsp;码:<input type="text" name="pwd"></div>
    12         <div><input type="submit" value="登录"></div>
    13     </form>
    14 </body>
    15 </html>
    View Code

    ③chuli.php

     1 <?php 
     2 session_start();
     3 $uid=$_POST["uid"];
     4 $pwd=$_POST["pwd"];
     5 include("DBDA.php");
     6 $db=new DBDA();
     7 
     8 $sql="select count(*) from users where username='{$uid}' and password='{$pwd}'";
     9 
    10 $result=$db->StrQuery($sql,1,"mydb2");
    11 if ($result==1) {
    12     $_SESSION["uid"]=$uid;
    13     header("location:main.php");
    14 }
    15 
    16 else{
    17     header("location:login.php");
    18 }
    19 
    20  ?>
    View Code

    ④main.php

     1 <?php 
     2 session_start();
     3 
     4 
     5 include("init.inc.php");
     6 include("DBDA.php");
     7 
     8 $db=new DBDA();
     9 
    10 
    11 
    12 if (!empty($_SESSION["uid"])) {
    13     ;
    14     $sqlf="select * from news";
    15     $attr=$db->Query($sqlf,1,"mydb");
    16 
    17     $smarty->assign("news",$attr);
    18 
    19     $smarty->assign("jsurl","./js/jquery-1.11.2.min.js");
    20     $smarty->display("main.html");
    21 }
    22 
    23 else{
    24     header("location:login.php");
    25 }
    26  ?>
    View Code

    ⑤main.html  显示模板  在templates模板文件夹中

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>Document</title>
     6     <script src="<{$jsurl}>"></script>
     7     <style type="text/css">
     8     .fu
     9     {
    10         width:360px;
    11         
    12         background-color: yellow;
    13         position: absolute;
    14     }
    15 
    16     </style>
    17 </head>
    18 <body>
    19     <h1>主页面</h1>
    20     <table style="position:absolute" width="100%" border="1" cellpadding="0" cellspacing="0">
    21         <tr>
    22             <td>编号</td>
    23             <td>标题</td>
    24             <td>内容</td>
    25             <td>时间</td>
    26             <td>类型</td>
    27             <td>操作</td>    
    28         </tr>
    29         <{foreach $news as $guo}>
    30 
    31         <tr>
    32 
    33             <td><{$guo[0]}></td>
    34             <td class='dq' bs='<{$guo[1]}>'><{$guo[1]|truncate:20}></td>
    35             <td><{$guo[2]|truncate:40}></td>
    36             <td><{$guo[3]}></td>
    37             <td><{$guo[4]}></td>
    38             <td><a href="shanchu.php?code=<{$guo[0]}>">删除</a></td> 
    39         </tr>
    40         <{/foreach}>
    41     </table>
    42 </body>
    43 <script type="text/javascript">
    44 $(document).ready(function(e){
    45     
    46     $(".dq").mouseover(function(e){
    47         var top=e.clientY;  //获取鼠标位置
    48         var name=$(this).attr("bs");
    49         var div="<div class='fu' style='top:"+top+"px;left:100px'>"+name+"</div>";
    50         $(".fu").remove();
    51         $("body").append(div);
    52     })
    53     $(".dq").mouseleave(function(e){
    54         $(".fu").remove();
    55     })
    56 });
    57     
    58 </script>
    59 </html>
    View Code

    ⑥shanchu.php  

     1 <?php 
     2 $code=$_GET["code"];
     3 include("DBDA.php");
     4 $db=new DBDA();
     5 
     6 $sqls="delete from news where ids='{$code}'";
     7 
     8 $db->Query($sqls,0,"mydb");
     9 
    10 header("location:main.php");
    11 
    12  ?>
    View Code

    ⑦init.inc.php   (smarty.class.php 核心的配置文件/在libs文件夹下)需要应用smarty模板的php  页面引入

     1 <?php
     2 
     3 define("ROOT",str_replace("\","/",dirname(__FILE__)).'/'); //常量ROOT中指定项目根目录
     4 
     5 //echo str_replace("\","/",dirname(__FILE__))."/";
     6 
     7 require ROOT.'libs/Smarty.class.php'; //加载Smarty类文件
     8 
     9 $smarty = new Smarty(); //实例化Smarty对象<br>
    10 
    11 
    12 //$smarty -> auto_literal = false; //就可以让定界符号使用空格
    13 $smarty->setTemplateDir(ROOT.'templates/'); //设置所有模板文件存放位置
    14 //$smarty->addTemplateDir(ROOT.'templates2/'); //添加一个模板文件夹
    15 $smarty->setCompileDir(ROOT.'templates_c/'); //设置编译过的模板存放的目录
    16 
    17 $smarty->addPluginsDir(ROOT.'plugins/'); //设置为模板扩充插件存放目录
    18 $smarty->setCacheDir(ROOT.'cache/'); //设置缓存文件存放目录
    19 $smarty->setConfigDir(ROOT.'configs/'); //设置模板配置文件存放目录
    20 
    21 $smarty->caching = false; //设置Smarty缓存开关功能
    22 $smarty->cache_lifetime = 60*60*24; //设置缓存模板有效时间一天
    23 $smarty->left_delimiter = '<{'; //设置模板语言中的左结束符
    24 $smarty->right_delimiter = '}>'; //设置模板语言中的右结束符
    25 
    26 
    27 
    28 
    29 
    30 ?>

    ⑧DBDA.php    (query方法查询输出数组,StrQuery方法查询输出字符串,显示时需要拆)

      1 <?php
      2 
      3 class DBDA
      4 {
      5     public $host = "localhost"; //服务器地址
      6     public $uid = "root"; //数据库的用户名
      7     public $pwd = "123"; //数据库的密码
      8     
      9     //执行SQL语句,返回相应结果的函数
     10     //$sql是要执行的SQL语句
     11     //$type是SQL语句的类型,0代表增删改,1代表查询
     12     //$db代表要操作的数据库
     13     public function Query($sql,$type,$db)
     14     {
     15         //造连接对象
     16         $conn = new MySQLi($this->host,$this->uid,$this->pwd,$db);
     17         
     18         //判断连接是否成功
     19         !mysqli_connect_error() or die("连接失败!");
     20         
     21         //执行SQL语句
     22         $result = $conn->query($sql);
     23         
     24         //判断SQL语句类型
     25         if($type==1)
     26         {
     27             //如果是查询语句返回结果集的二维数组
     28             return $result->fetch_all();
     29         }
     30         else
     31         {
     32             //如果是其他语句,返回true或false
     33             return $result;
     34         }
     35     }
     36     
     37     //Ajax调用返回JSON
     38     public function JsonQuery($sql,$type=1,$db="test2")
     39     {
     40         //定义数据源
     41         $dsn = "mysql:dbname={$db};host={$this->host}";
     42         //造pdo对象
     43         $pdo = new PDO($dsn,"{$this->uid}","{$this->pwd}");
     44 
     45         
     46         //准备执行SQL语句
     47         $st = $pdo->prepare($sql);
     48         
     49         //执行预处理语句
     50         if($st->execute())
     51         {
     52             if($type==1)
     53             {
     54                 $attr = $st->fetchAll(PDO::FETCH_ASSOC);
     55                 return json_encode($attr);
     56             }
     57             else
     58             {
     59                 if($st)
     60                 {
     61                     return "OK";
     62                 }
     63                 else
     64                 {
     65                     return "NO";
     66                 }
     67             }
     68             
     69         }
     70         else
     71         {
     72             echo "执行失败!";
     73         }
     74 
     75 
     76 
     77     }
     78     //Ajax调用返回字符串
     79     public function StrQuery($sql,$type,$db)
     80     {
     81         //造连接对象
     82         $conn = new MySQLi($this->host,$this->uid,$this->pwd,$db);
     83         
     84         //判断连接是否成功
     85         !mysqli_connect_error() or die("连接失败!");
     86         
     87         //执行SQL语句
     88         $result = $conn->query($sql);
     89         
     90         //判断SQL语句类型
     91         if($type==1)
     92         {
     93             $attr = $result->fetch_all();
     94             $str = "";
     95             //如果是查询语句返回字符串
     96             for($i=0;$i<count($attr);$i++)
     97             {
     98                 for($j=0;$j<count($attr[$i]);$j++)
     99                 {
    100                     $str = $str.$attr[$i][$j];
    101                     $str = $str."^";
    102                 }
    103                 $str = substr($str,0,strlen($str)-1);
    104                 $str = $str."|";
    105             }
    106             $str = substr($str,0,strlen($str)-1);
    107             
    108             return $str;
    109         }
    110         else
    111         {
    112             //如果是其他语句,返回true或false
    113             if($result)
    114             {
    115                 return "OK";
    116             }
    117             else
    118             {
    119                 return "NO";
    120             }
    121         }
    122     }
    123     
    124     
    125 }
    View Code

    显示效果:

    登录:

    经过 login.html  chuli.php  到达  main.php    通过main.html  模板显示出来

    位于编号为1 的新闻   被   点击右侧  删除掉

    main.html页面   传值

    <td><a href="shanchu.php?code=<{$guo[0]}>">删除</a></td> 

    通过  shanchu.php  页面链接数据库  做删除动作

    让缩略信息显示完整   通过js完成

     1 <script type="text/javascript">
     2 $(document).ready(function(e){
     3     
     4     $(".dq").mouseover(function(e){
     5         var top=e.clientY;  //获取鼠标位置
     6         var name=$(this).attr("bs");
     7         var div="<div class='fu' style='top:"+top+"px;left:100px'>"+name+"</div>";
     8         $(".fu").remove();
     9         $("body").append(div);
    10     })
    11     $(".dq").mouseleave(function(e){
    12         $(".fu").remove();
    13     })
    14 });
    15     
    16 </script>

  • 相关阅读:
    设计模式(二十)---迭代器模式
    设计模式(十九)---观察者模式
    设计模式(十八)---模板方法模式
    设计模式(十七)---策略模式
    ElasticSearch 安装
    MongoDB进击 Linux单机安装
    List集合去除重复对象。。。记录一下
    Springboot整合mybatisPlus实现分页
    git记录
    Springboot异常处理errorController
  • 原文地址:https://www.cnblogs.com/haodayikeshu/p/5462919.html
Copyright © 2011-2022 走看看