|
簡介 知道如何編輯資料庫之後可以很容易想像出留言版的機制,就是大家可以: →用文字盒在網頁上寫入訊息 →訊息再寫入伺服器的資料庫 →更新網頁即可看到新訊息 比較困難的是新訊息進入時如何讓不是發言的人網頁自動更新,這部份是較複雜的網路通訊,將在後續單元的Ajax機制時再談 |
|
建置資料庫 建立一個Access資料庫,開啟一張資料表,建立項目: Time:設為主索引健,資料型態為日期時間 Name: 留言者姓名 Talk: 留言內容(字數可以比預設的50增加,最多255字) 開啟新ASP專案,將資料庫放到專案的App_Data目錄 |
|
設計頁面 1.放置一個 GridView 連到上述資料表,DataSource設定為可編輯(但GridView不要啟用編輯)。 2.設置一個文字盒輸入留言者,一個文字盒寫留言,一個按鍵確定發言。 ![]() 3.在按鈕事件中寫程式: Dim T As String = My.Computer.Clock.LocalTime.ToString '現在時間 Dim M As String = TextBox2.Text '留言內容 Dim U As String = TextBox1.Text '使用者名稱 Me.AccessDataSource1.InsertCommand = "INSERT INTO [留言板] ([time], [name], [talk]) VALUES ('" + T + "','" + U + "','" + M + "')" '請注意到上面指令中的單引號『'』 Me.AccessDataSource1.Insert() TextBox1.Text = "" TextBox2.Text = "" GridView1.DataBind()
其中第一行是取得目前電腦的系統時間→ T;接著是留言內容(M)與留言者(U)
|
|
惡客IP偵測與封鎖 留言板最怕有人搗亂,有效的方法是偵測IP並封鎖之,要知道上網者的IP請在網頁上加個Label,並在確定留言的程式最前面加上: Dim IPs As String = Request.UserHostAddress Label1.Text=IPs If IPs = "封鎖IP" Then Exit Sub 這樣可以顯示上網者的IP(在Label1),如果發現是惡客,就不執行以下的留言動作,他就無法發言了! |
|
搜尋發言者 留言板上發言太多,只想找某個人的發言,可以設計一個文字盒(TextBox3),在放個搜尋按鍵(Button2),寫程式如下: ![]() 請注意,[留言板]是老師測試時的資料表名稱,應視情況修改。 恢復顯示全部的程式應該和上面程式相似,只是將 where 之後的條件部分刪除。 |
|
搜尋發言內容 如果想找發言內容包含某些關鍵字的發言,可以再加一個文字盒(TextBox4),一個按鍵(Button3)寫程式如下: ![]() 『%』是微軟版的SQL語言中的萬用字元,表示任何字與個數的意思, Like 是這一點有像即可的意思! |