20150408--Sphinx+郵件激活-02

3、使用php查詢測試

一、要拷貝sphinx的接口文件到php項目中來。 php

wps8750.tmp

具體的代碼: html

wps87A0.tmp

wps87B0.tmpwps87B1.tmpwps87C2.tmp

wps87D2.tmpwps8831.tmpwps8832.tmp

wps88C0.tmp

4、查詢的關鍵詞要添加樣式顯示

使用:$sc->buildExcerpts()來完成對應關鍵詞添加樣式來顯示 數組

$sc->buildExcerpts(一條記錄的數組,索引的名字,查詢的關鍵詞,關鍵詞添加的樣式) 服務器

$sc->buildExcerpts(一條記錄的數組,索引的名字,查詢的關鍵詞,array( socket

‘before_match’=>’<font color=」red」/>’, 函數

‘after_match’=>’</font>’ 測試

)) ui

該函數返回的是一個索引的數組,所以在輸出時要使用下標來顯示 編碼

wps893E.tmp

5、SPHINX的匹配模型

一、SPH_MATCH_ALL 徹底匹配全部的詞

如「冬天  的   雪」,並不會匹配 「我愛冬天」, 3d

能夠匹配 「我朋友,愛冬天,和」。

由於「冬天的雪」 被分紅 「冬天」,「的」,「雪」三個詞,匹配條件是同時包含

這三個詞,「我愛冬天」裏只包含一個「冬天」

二、SPH_MATCH_ANY: 匹配任意一個詞

如「冬天   的     雪」,並會匹配 「我愛冬天」。

"冬天的雪「 -》 」冬天「 」的「 」雪「

由於「我愛冬天」裏有一個「冬天」相匹配。

三、

wps895E.tmp

四、

wps897E.tmp

五、

wps899F.tmp

6、增量索引創建

原來有1000萬條記錄,創建完成索引了,

後來又添加了500條記錄,

思路:把後面添加的記錄單獨創建索引,創建的增量索引再合併到主索引上面。

具體實時:

(1)新建一張表,用於記錄電影最大的id,當主索引建完以後,表裏面就記錄最大的id,

(2)創建增量索引是主查詢,就使用條件了。

select id,title,description from dede_archives where id>(select max_id from a)

wps8A3C.tmp

步驟:

(1)新建一張表

create table a(max_id int);

wps8A5C.tmp

(2)修改主數據源

wps8A7C.tmp

(3)添加增量數據源

wps8A9D.tmp

(4)配置增量索引

wps8ABD.tmp

(5)從新創建主索引

wps8B2B.tmp

添加數據,進行創建增量索引

wps8B3C.tmp

(6)把增量索引合併到主索引上面

indexer  -c配置文件  --merge  主索引的名字  增量索引的名字  --rotate(不關閉服務強制合併)

wps8B5C.tmp

PHP如何發郵件?

知識點:郵件相關的協議:

smtp:發郵件,端口:25

pop3:收郵件,端口:110

一、要有郵件服務器

a) 本身搭建一個郵箱服務器

b) 使用現有的:12六、163等等。

163發郵件的接口:smtp.163.com

二、在163註冊一個郵箱帳號

在php中發送郵件使用一個 phpmailer的類。

phpmailer發送郵件示例

注意事項:

啓用fsockopen函數

首先,在php.ini中去掉下面的兩個分號

複製代碼 代碼示例:

;extension=php_sockets.dll

;extension=php_openssl.dll

代碼案例:

<?php

require 'PHPMailer/class.phpmailer.php';

$mail             = new PHPMailer();

/*服務器相關信息*/

$mail->IsSMTP();                        //設置使用SMTP服務器發送

$mail->SMTPAuth   = true;               //開啓SMTP認證

$mail->Host       = 'smtp.163.com';        //設置 SMTP 服務器,本身註冊郵箱服務器地址

$mail->Username   = 'phpdaxia001';   //發信人的郵箱名稱

$mail->Password   = 'php1234';          //發信人的郵箱密碼

/*內容信息*/

$mail->IsHTML(true);          //指定郵件格式爲:html

$mail->CharSet    ="UTF-8";      //編碼

$mail->From       = 'phpdaxia001@163.com';  //發件人完整的郵箱名稱

$mail->FromName   = '地球球長委員會';  //發信人署名

$mail->Subject    = "地球的球長選舉";    //信的標題

$mail->MsgHTML("尊敬的用戶:明天開會,會後,我請客");    //發信主體內容

        /*發送郵件*/

$mail->AddAddress("phpdaxia001@163.com");    //收件人地址

        //使用send函數進行發送

if($mail->Send()) {

echo 'ok ok';

} else {

            echo $mail->ErrorInfo;//若是發送失敗,則返回錯誤提示

}

完成用戶註冊完成後,要經過郵箱驗證。若是用戶密碼忘了,能夠經過郵箱找回密碼

create table user(

            id int primary key auto_increment,

            username   varchar(32) not null comment '用戶的名稱',

            password   char(32) not null comment '用戶的密碼',

            active  tinyint  not null default 0  comment '激活的標誌,0表示沒有激活,1表示已經激活',

            validate varchar(32) not null comment '激活的用戶的校驗碼',

            question varchar(32) not null comment '問題的名稱',

            answer varchar(32) not null comment '問題的答案'

)

完成用戶註冊,找回密碼案例

建表:

wps55C2.tmp

案例:

register.html用戶註冊頁面:

action.php是處理用戶註冊 激活 驗證 找回密碼 頁面

相關文章
相關標籤/搜索