文章出處

注意:smarty模板前提是:前端和后端是分開的,所以肯定會有很多的后臺頁面,php頁面和html頁面是分開存儲的!!

可以通過模板編寫很多的功能,這里不是用的ajax方法寫的,所以會刷新頁面~~

下面就開始編寫各種頁面的功能了!!!

一、登錄頁面的編寫也是分兩個頁面(后臺和前端)

1.首先是后臺的php頁面,很簡單只要引入“入口文件”,然后寫出顯示模板的方法就可以了。

1
2
3
4
<?php
include("../init.inc.php");  //引入入口文件
 
$smarty->display("login.html");  //要顯示的登錄界面

2.再就是前臺的html頁面,這個就是要寫登錄界面要顯示的內容了。

1
2
3
4
5
6
<h1>登錄頁面</h1>
<form action="logincl.php" method="post">  <!--表單元素中的活動頁面,登陸的處理頁面,傳輸方式是post方式-->
    <div>用戶名:<input type="text"  name="uid"/></div>   <!--用戶名文本框-->
    <div>密  碼:<input type="password"  name="pwd"/></div>  <!--密碼文本框-->
    <input type="submit" value="登錄" /> <!--登錄按鈕-->
</form>

看下運行效果(一定要運行php頁面才可以)

3.頁面出來了,再就是表單的提交處理頁面,這個是相對于前面的php頁面的

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
include("../DBDA.class.php");  //調用出來封裝好的類
$db new DBDA();  //造新對象
 
$uid $_POST["uid"];  //接收傳過來的數據
$pwd $_POST["pwd"];
 
$sql "select password from user where uid='{$uid}' ";  //編寫語句查找用戶名是傳過來的用戶名的密碼
$attr $db->StrQuery($sql);  //執行語句
 
if($attr==$pwd && !empty($pwd))  //判斷一下
{
    header("location:main.php");  //如果登陸成功就可以,就會跳到主頁面
}

4.登錄成功后的顯示頁面,我這里是顯示出來的數據庫中的內容

  4.1后臺頁面的編寫,其實和上一篇隨筆是一樣的,調出數據庫并且注冊變量和模板顯示的方法

1
2
3
4
5
6
7
8
9
10
11
<?php
include("../init.inc.php");  //調出入口文件
 
include("../DBDA.class.php");  //調出數據庫封裝好的類
$db new DBDA();  //造新對象
 
$sql "select * from nation";  //查找數據庫中的數據信息
$attr $db->Query($sql);  //執行語句
 
$smarty->assign("shuju",$attr);  //注冊變量信息
$smarty->display("main.html");   //模板顯示

  4.2前臺html頁面的編寫,利用表的樣式顯示出想要顯示的信息數據

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<h1>主頁面</h1>
<table width="50%" border="1" cellpadding="0" cellspacing="0">
    <tr>
        <td>代號</td>  <!--表中的頭信息-->
        <td>名稱</td>
        <td>操作</td>
    </tr>
             
    <{foreach $shuju as $v}>  <!--遍歷php頁面的數據顯示-->
         <tr>
              <td><{$v[0]}></td>  <!--代號所指的數據庫信息-->
              <td><{$v[1]}></td>
              <td>操作</td>
         </tr>
    <{/foreach}>
             
</table>   

運行結果可以看下

 

二、信息的相關操作(刪除功能)

1.那么就要main的html頁面中遍歷信息中的“操作”就要修改成“刪除”了,這里的傳數據的方式就是“get”方式了,如下:

1
2
3
4
5
6
7
<{foreach $shuju as $v}>
  <tr>
    <td><{$v[0]}></td>
    <td><{$v[1]}></td>
    <td><a href="shanchu.php?code=<{$v[0]}>">刪除</a></td>
  </tr>
<{/foreach}>

那么運行出來的“操作”的那一欄就會變成了“刪除”了

2.前臺的頁面解決之后,那就是刪除的處理頁面了,記得要和php頁面放在一起

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
include("../DBDA.class.php");  //調用封裝好的數據庫類
$db new DBDA();  //造新對象
 
$code $_GET["code"];  //用get方式接收傳過來的數據
$sql "delete from nation where code='$code' ";  //刪除代號等于傳過來得代號的數據
$attr $db->Query($sql,0);  //執行語句
 
if($attr)  //判斷一下,成功刷新,不成功提示
{
    header("location:main.php");
}
else
{
    echo "刪除失敗!";  
}

可以看下運行結果

單擊“刪除”按鈕后,就會將那條信息刪除

 

三、信息的相關操作(修改功能)

1.同樣的main的html頁面中遍歷信息中的添加一個“修改”按鈕,這里的傳數據的方式同時也是“get”方式了,如下:

1
2
3
4
5
6
7
8
9
<{foreach $shuju as $v}>
  <tr>
    <td><{$v[0]}></td>
       <td><{$v[1]}></td>
       <td><a href="shanchu.php?code=<{$v[0]}>">刪除</a>
           <a href="xiugai.php?code=<{$v[0]}>">修改</a>
       </td>
  </tr>
<{/foreach}>

前端的頁面就成了如下頁面

2.同樣也是開始編寫“修改”的頁面了,這里要顯示修改的原來的信息,這樣就是要用到正常的顯示頁面,那么就是兩個頁面了(php頁面和html頁面)

  2.1修改的php頁面的編寫

1
2
3
4
5
6
7
8
9
10
11
<?php
include("../init.inc.php");  //調出入口文件
include("../DBDA.class.php");  //調出數據庫封裝好的類
$db new DBDA();  //造新對象
 
$code $_GET["code"];
$sql "select * from nation where code='$code' ";  //查詢代號等于傳過來代號的信息
$attr $db->Query($sql);
 
$smarty->assign("nation",$attr[0]);  //注冊變量信息,順便將值傳過去
$smarty->display("xiugai.html"); //顯示模板

  2.2修改的html頁面的編寫

1
2
3
4
5
6
<h1>修改頁面</h1>
<form action="xiugaicl.php" method="post">  <!--修改頁面的處理頁面-->
  <input type="hidden" name="code" value="<{$nation[0]}>"/><!--默認值顯示的時候就是要將傳過來的值顯示value,但是這里的代號是不能改的,所以要隱藏-->
  <div>名稱:<input type="text" name="name" value="<{$nation[1]}>"/></div>  <!--同上面的結束-->
  <input type="submit" value="修改" />
</form>

單擊“修改”按鈕后,看下運行的頁面

為了不想修改返回到主頁面,可以在修改后面添加一個“返回”按鈕

1
2
<input type="submit" value="修改" />
<a href="main.php"><input type="button" value="返回" /></a>

3.單擊修改后,進行信息的修改,數據庫也要進行修改(編寫“修改”的處理頁面)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
include("../DBDA.class.php");  //調出數據庫封裝好的類
$db new DBDA();  //造新對象
 
$code $_POST["code"]; //將代號傳過來接收
$name $_POST["name"];  //同上
 
$sql "update nation set name='{$name}' where code='{$code}'";  //修改名稱當代號等于傳過來的代號時
$attr $db->Query($sql,0);  //執行語句
 
if($attr)  //判斷一下語句
{
    header("location:main.php");  //修改成功后返回主頁面
}
else
{
    echo "修改失敗!";  
}

運行看下整體修改過程

(1)登陸后的主頁面

(2)單擊修改按鈕

(3)修改后單擊修改按鈕,不修改單擊返回按鈕

(4)數據庫也跟著修改了

 

到此,基本的功能就結束了,這是用的php寫的,也可以讓它不刷新頁面進行刪除和修改功能,同樣的道理。


文章列表


不含病毒。www.avast.com
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()