留言板小程式開發筆記 4

2022-09-15 05:51:11 字數 4346 閱讀 4229

前端多個html檔案, 共用變數的時候, 使用cookie, 或者在多個頁面之間通過 url傳遞變數...

因此, 最好的是, 乙個html文件對應乙個js檔案, 如果某些文件的js較少, 就直接寫在這個文件的最後面就好了, 不用另外單獨 寫乙個 js檔案了.

這是ff控制台給出的提示資訊: html 文件的字元編碼未宣告。如果該檔案包含 "us-ascii" 範圍之外的字元,該檔案將在某些瀏覽器配置中呈現為亂碼。頁面的字元編碼 "必須" 在文件或傳輸協議層宣告。

thinkphp的js指令碼中, 如何使用u方法? 參考:

$.ajax(

});if(res == 1)else

tar本身只是歸檔, 不壓縮的; 壓縮效率從小到大, 依次是:gz, zip, rar, 7z;

windows 下使用zip好像就是winzip, 沒有gz, 也沒有單獨的zip, zip好像是在linux下使用..

當使用者前端重新整理驗證碼的時候, tp是動態產生驗證碼的, 所以也會同時重新整理session中的驗證碼...返回給前端的驗證碼一定和 session 裡的是同步的

在某些**,我們輸入驗證碼的時候,輸入的過程中文字框後面一直顯示錯誤,直到我們輸入爭取的時候會先提示驗證碼正確的形式。下面**就可以實現:(原理就是利用 onkeyup事件, 可以實現, 在每次輸入字元的時候, 觸發事件監測). jquery的就是keyup方法:

$("#j_verify").keyup(function() , function(data)  else 

10 });

11 });

正確的方法是這樣的: 參考:

考慮改變這個url值, "讓後台覺得"這是乙個新的url位址(實際上, 後面的這個foo其實對 驗證碼的生成是沒有意義的), 否則, 他是不會變的, 不會重新去生成乙個驗證碼, 但是其實後面的這個附加值其實是沒有用的, 只是改變乙個url新位址...

但是原來的 login/verify後面的這個/foo, 還不能指定乙個固定的字串值, 因為如果是固定的字串, 你就只能重新整理一次, 第二次的時候, 它會檢測到url位址沒有變, 又不能產生新的驗證碼. 這樣以後你就不能重新整理了, 所以只要是乙個新的/變化的 附加字串都可以, 你可以使用rand隨機數, 也可以使用 date的time值,只要是隨時變化的都可以.

特別注意的是, template變數 只能在html dom元素中使用, 不能在 js中使用, 這個跟u方法 要注意區別....

namespace是定義命名空間, 是為了解決類的名字 相同的問題 而引入的;

可以從另外乙個角度來看待命名空間, 把命名空間看作是一種封裝!!

乙個???.class.php檔案中, 可以定義多個命名空間(名字空間, name既可以做動詞, 也可以做名詞...), 但是第乙個命名空間前是不允許有任何**的.

命名空間的引用, 不同的命名空間中的元素, 不可以直接呼叫, 要在乙個命名空間中, 呼叫另乙個 命名空間的元素(類, 變數,函式等), 必須使用 "命名空間的語法, 即: \空間名稱\元素名稱 " 注意, 這裡的 "命名空間名稱"前面的反斜槓 , 是語法要求, 並不表示什麼絕對路徑還是相對路徑的問題. 如:echo \ns2\var; echo \ns2\func(); $foo = new \ns2\clsname();注意, 在任何使用, 命名空間的語法必須是從 反斜槓\開始的, 如果不寫反斜槓, 就會認為是 當前 命名空間下的 類名:

而use, 則是 引用 "乙個命名空間中的 某個類庫檔案 ???.class.php", 注意, namespace是定義, 而use 是引用, 是使用了.

既然use 本身就是引用命名空間了, 所以他的語法格式是:use 空間名稱\類庫檔名即用use的時候, 不寫前面的反斜槓了, 因為use本身就說明了; 第二, namespace只寫到目錄資料夾就好了, 而use 則必須寫到類庫檔名, 你不能只寫到類庫目錄, 因為use的目的, 是便於後面使用類, 而類是存在於類庫檔案中的, 而不是存在目錄中的!

當 我們使用了 use 後, 則後面的類 的定義時, 在 類 定義的外部, 可以不用寫 完整的 類庫根目錄, 而只是寫類名, 如:class foo extends controller, 就不用寫 \think\controller

幫助文件說得很清楚了:

自動載入的類庫, 使用命名空間: 凡是library下的子目錄都是乙個 根命名空間, 它們下面的類庫檔案???.class.php都可以通過 "呼叫/引用命名空間,即use" 來 自動載入, 注意不是通過namespace來引用, namespace是定義命名空間的.:

namespace home\controller;   // 命名空間的作用:只是說明了當前類庫檔案所在的目錄

use think\controller; // use才是引用 命名空間

....

$v = new \think\verify(); //在類的內部, 要按照 "命名空間語法" 來說明

通過import方法來載入: import本身是tp的common/functions.php中提供的乙個全域性函式, 匯入 的方式是使用 點語法:import('org.util.image');import就代替了 use的用法 , 當然仍然只是寫到 類庫檔案就好了..........

**var time = (new date()).gettime();中new date()是獲取當前日期時間物件, 方法 gettime()是獲取 unicode 時間戳...即: 從1970-1-1到現在的毫秒數...**

不用擔心檢測驗證碼的時候, 產生的verify物件跟原來產生/生成驗證碼時的物件, 是否相同, 或者, 是否是同乙個verify物件. 只要生成乙個verify物件, 然後呼叫它的 check('輸入的驗證碼'), 就能進行 檢查...

因為驗證時, 和重新整理時, 即使重新生成驗證碼的時候, 都會自動的, 同步更新 session中的驗證碼. 所以不會產生重新整理後, 驗證碼判斷不準確的問題...

使用 tp的 i方法, 獲取前台傳入的時候, 有乙個好處是, 你不用去考慮到底 使用的是 get方法, 還是post方法...

通常, 只有在data資料為物件, 陣列的時候, 才使用 json格式的, 而如果你只是為了 簡單的 返回乙個 字串, 那麼, 也可以 直接 使用 json 格式就好了...

以前的 返回資料的 data 的 info,和 status現在已經併入到data 中去了! ...

在tp中, 使用模型類的方法有基本的三種方法:

使用基類$model = new model('user'); 或 $md = m('user');這種方法只是提供了最基本的模型使用的方法, 可以使用基本的增刪改查操作;

要使用自己的模型類, 因為要實現自己類的 表單驗證檢查, 表單自動完成 (所有的這些表單都對應著 後台的 對應的表), 使用 create方法, 從表單

獲得資料,生成**模型類操作的資料..., 就要自己寫自己的模型類, 這個模型類要從基本的模型類model繼承, 然後「重寫override」基類的$_validate 或者 $_auto 屬性變數

然後就可以, 用$mymodel = new usermodel(); 或者: $mymodel = d('user');

總之, m方法就等於 new model('user'); 而d方法就等於: new usermodel();

除此之外,要使用原生的sql語句進行查詢,就要使用空的model建構函式:$model = new model(); 或者使用 空的 $model = m();

thinkphp留言板開發筆記 1 新的

關於php陣列的排序函式的總結 有很多種排序方式和排序規則 正常排序和反向排序,使用 r來表示 排序時是否考慮索引 下標,如果考慮則加上 a,a associate.sort是按值來排序的,它不管索引的 如果要考慮順序或索引,則加上相應的關鍵字付.凡是帶k的函式,一定會保持關聯性,本來就是根據key...

留言板(七) 前端小總結

一些小知識點width height 設定元素寬度,高度 color 字型顏色 text align 字型位置,居中為center font size 字型大小 font family 字型種類,可為 華文楷體 等等 margin top bottom left right 設定離外包含元素距離 p...

開發基於XML的留言板

xml extensible markup language 是一種基於文字格式的標記語言,它注重對資料結構和資料意義的描述,實現了資料內容和顯示樣式的分離,而且是與平台無關的。由於 xml注重資料內容的描述,因而,對於資料的檢索非常有意義,我們不會再象html那樣,檢索出與我們要求無關的資訊。另一...