現(xiàn)在,我們創(chuàng)建一個
成都創(chuàng)新互聯(lián)公司是一家專注于網(wǎng)站設(shè)計、網(wǎng)站建設(shè)與策劃設(shè)計,公主嶺網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)十年,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:公主嶺等地區(qū)。公主嶺做網(wǎng)站價格咨詢:13518219792
HTML
表單,這個表單可把新記錄插入
"Persons"
表。
這是這個
HTML
表單:
123456789101112
htmlbody
form
action="insert.php"
method="post"Firstname:
input
type="text"
name="firstname"
/Lastname:
input
type="text"
name="lastname"
/Age:
input
type="text"
name="age"
/input
type="submit"
//form
/body/html
當(dāng)用戶點(diǎn)擊上例中
HTML
表單中的提交按鈕時,表單數(shù)據(jù)被發(fā)送到
"insert.php"。"insert.php"
文件連接數(shù)據(jù)庫,并通過
$_POST
變量從表單取回值。然后,mysql_query()
函數(shù)執(zhí)行
INSERT
INTO
語句,一條新的記錄會添加到數(shù)據(jù)庫表中。
首先說明一點(diǎn),用序列化和JSON不會不安全啊,數(shù)據(jù)安不安全取決于你的程序有沒有過濾并且處理好要入庫的數(shù)據(jù),一般來說,入庫的數(shù)據(jù)是需要保證安全的。
對于你這個問題,最好的做法還是字段擴(kuò)展,這樣至少搜索速度上不會出現(xiàn)大問題,如果是將所有的數(shù)據(jù)都放到一個字段上,就是上面的content字段,這樣后續(xù)并不利于搜索,數(shù)據(jù)感覺也比較混亂。如果僅僅是多語言實(shí)現(xiàn),單詞之間的對應(yīng)關(guān)系,這樣使用單字段還是可以的,畢竟數(shù)據(jù)也不多。
1. 嘗試設(shè)置一個頁面模板
1)拷貝一個index.php并改名為其它名,如list.php;
2)在list.php頁面最頂部添加
?php /*
Template Name: 友鏈
*/
?
以上兩步就可以創(chuàng)建一個頁面模板了,修改并保存好這個文件后,創(chuàng)建一個新頁面或者修改已存在的頁面。在右下邊有個“頁面模板”的面板,在下拉菜單中選中“友鏈”后保存就可以了。
然后在頁面中添加任何內(nèi)容,包括html代碼就可以顯示了??墒俏业男枨笫且约和瓿蒔HP代碼獲取數(shù)據(jù)并展示,它不能這么做。
2. 調(diào)用 WordPress 的 API實(shí)現(xiàn)URL正確跳轉(zhuǎn)
這種方法的自由度較高,并且可以創(chuàng)建非WordPress格式的URL。比如我們要把 轉(zhuǎn)交給主題文件夾下的 /custom/list.php 來處理,就可以用這種方式來處理。這種方法用到 template redirect 鉤子,template redirect 是 WordPress 在預(yù)處理好所有參數(shù)設(shè)置之后決定調(diào)用主題模板的時候調(diào)用的。
在functions.php模板函數(shù)文件中添加以下實(shí)例代碼:
function loadCustomTemplate($template) {
global $wp_query;
if(!file_exists($template))return;
$wp_query-is_page = true;
$wp_query-is_single = false;
$wp_query-is_home = false;
$wp_query-comments = false;
// if we have a 404 status
if ($wp_query-is_404) {
// set status of 404 to false
unset($wp_query-query["error"]);
$wp_query-query_vars["error"]="";
$wp_query-is_404=false;
}
// change the header to 200 OK
header("HTTP/1.1 200 OK");
//load our template
include($template);
exit;
}
function templateRedirect() {
$basename = basename($_SERVER['REQUEST_URI'], '?' . $_SERVER['QUERY_STRING']);
loadCustomTemplate(TEMPLATEPATH.'/custom/'."/$basename.php");
}
add_action('template_redirect', 'templateRedirect');
這樣就實(shí)現(xiàn)了 WordPress 查找 /custom 文件夾下的 php 文件,并且將相匹配的 URL 請求轉(zhuǎn)交給對應(yīng)的 php 文件來處理的效果,與此同時,這個 php 文件還保持了對 WordPress API 的調(diào)用,因此留給我們的空間非常大。
接下來就可以在 /custom 文件夾下自定義一個list.php文件然后通過鏈接訪問。
3. 添加頁面內(nèi)容,獲取自定義數(shù)據(jù)庫/表中的內(nèi)容
然后就可以根據(jù)需要自己需要來實(shí)現(xiàn)自己想要的功能,這里需要有以下幾點(diǎn)要處理:
1)如何操作數(shù)據(jù)庫
WordPress提供了一個全局變量$wpdb,并將其實(shí)例化為wpdb類的對象。這樣我們就可以直接使用$wpdb來調(diào)用所有的數(shù)據(jù)庫操作函數(shù)。通過這個$wpdb對象,我們可以對WordPress數(shù)據(jù)庫進(jìn)行任何操作,包括建表、查詢、刪除、更新等。使用$wpdb-get_results實(shí)現(xiàn)執(zhí)行sql語句操作數(shù)據(jù)庫,并獲取結(jié)果。
global $wpdb;
$sql= "SELECT * FROM ".$wpdb-prefix.table;
$a = $wpdb-get_results($sql);
2)使用wordpress的樣式
通過F12查看首頁代碼就可以發(fā)現(xiàn)只要使用對應(yīng)的class樣式就能輕松讓頁面統(tǒng)一規(guī)整。那么就把對應(yīng)的html添加到自定義PHP頁面中即可。
3)利用wordpress的規(guī)則輕松實(shí)現(xiàn)翻頁
wordpress已經(jīng)默認(rèn)支持翻頁,格式如:,只要在自定義的頁面里面定義好每頁返回正確的內(nèi)容就好啦。
4. 設(shè)置nginx rewrite規(guī)則
可讀性強(qiáng)的URL一定不能是這樣的格式,對爬蟲也不友好,那就需要配置好rewrite規(guī)則,我使用的是nginx的配置為:
rewrite ^(.*)/indexed/page/([0-9]+)$ $1/indexed?page=$2 last;
到現(xiàn)在為止,離成功只有一步之遙了,那就是新建一個頁面, 大功告成!