2014年5月30日 星期五

【PHP】預防XSS攻擊



*單一變數 $a = stripslashes_gpc($a);
*陣列 array_walk_recursive($_POST, 'stripslashes_gpc');
*不適用網頁編輯器

2014年5月29日 星期四

【MySQL、MSSQL】 分頁寫法

MSSQL 分頁的寫法:
抓取第80000~80020的資料 

SELECT * FROM
(SELECT ROW_NUMBER() over (order by id ASC) sort,* FROM test) as c
WHERE sort BETWEEN 80000 and 80020

OR

WITH Table AS (
   SELECT ROW_NUMBER() over (order by id ASC) sort,* FROM test
) SELECT * FROM Table WHERE sort BETWEEN 80000 and 80020



MYSQL:

SELECT * FROM `test` LIMIT 80000,20


* MySQL 簡單多了


2014年5月28日 星期三

【MYSQL、MSSQL】複製資料表、複製一筆資料

1.複製一個資料表
MySQL 建議使用下面的方式,好處是 Schema 會一樣
  1. CREATE TABLE new_table LIKE old_table;
  2. INSERT new_table SELECT * FROM old_table
MSSQL 要使用 SELECT * INTO new_table FROM old_table
只複製結構 SELECT * INTO new_table FROM old_table WHERE 1=0

2.複製一筆資料
MySQL、MSSQL 都可使用

INSERT INTO test(
id,
        name,
test1,
test2
)
SELECT
3 AS id,
name,
'test' AS test1,
test2
FROM test
WHERE id =1

* 要複製原來的值就不用AS

3.運用
當資料量大,查詢時可將一個表拆成多個表
如:
Insert Into new_table (學號, 姓名,國文,英文,數學)
Select * From old_table Where 英文>90

2014年5月15日 星期四

【Jquery】商品切換效果

範例一:右下左飄走
範例網址:演示



範例二:往右消失
範例網址:演示1  演示2

2014年5月8日 星期四

【PHP】截取中文字

2014年5月7日 星期三

【PHP】檔案寫入

網站範例連結



2014年5月6日 星期二

【PHP】匯入EXL

phpExcelReader 載點
使用方法:

PHPExcel:

2014年4月17日 星期四

【PHP】用PHP讀取FB是否按讚及貼塗鴉牆

1.到FB developers取得 appId 及 secret
網址:http://developers.facebook.com
新增一個新的應用程式















裡面就可以看到應用程式編號及密碼










2.設定網址
點選設定並新增平台後輸入網址













3.下載php sdk
點選文件->PHP就可看到download

4.取得基本資料
require_once('fb_libs/facebook.php'); // 依下載位置改變路徑
$facebook = new Facebook(array(
'appId'  => '上面申請的應用程式編號',
 'secret' => '上面申請的密碼',
 'cookie' => true,
 'allowSignedRequest' => false
));

$user = $facebook->getUser();

if ($user) {
$me = $facebook->api('/me/'); // 取得基本資料
print_r($me);
$likes = $facebook->api('/me/likes/162795133784235'); // 取得此帳號是否有按此LIKE 註1
        print_r($likes);
$likes = $facebook->api('/me/likes'); // 取得按了什麼讚
print_r($likes);

        //  FB 塗鴉牆
        $ret_obj = $facebook->api('/me/feed', 'POST',array(
'link' => 'http://www.sanjing3c.com.tw/',
'message' => '三井3c購物網
));
        print_r($ret_obj ); // 取得貼文的ID
} else {
        // 沒登入給使用者登入
       $params = array('scope'=>'email,user_birthday,read_stream,publish_actions'); // 權限設定
$login_url = $facebook->getLoginUrl($params); // 權限分很多種、不同功能要用不同的
echo '登入FB <a href="' . $login_url . '">login.</a>';
error_log($e->getType());
error_log($e->getMessage());
}


登出
setcookie('fbs_'.$facebook->getAppId(), '', time()-100, '/', 'sanjing3c.com.tw');
session_destroy();


fql.query

$result = $facebook->api(array(
               'method' => 'fql.query',
               'query' => "SELECT uid FROM page_fan WHERE uid = '".$user."' "
    ))
print_r($result);

註1 : 這邊的ID可以到 https://developers.facebook.com/docs/plugins/like-button 貼上網址取得

2014年4月7日 星期一

【Jquery】自己寫的簡易連續跑馬燈

CSS:
程式部分:
HTML:

2014年3月8日 星期六

【PHP】使用從資料庫取出的 datetime 型態

當我們從資料庫取出 Datetime 型態出來,
dump 出來會變成:
object(DateTime)#14 (3) { ["date"]=> string(19) "2014-03-07 01:38:11" ["timezone_type"]=> int(3) ["timezone"]=> string(11) "Asia/Taipei" }

轉換成變數方法:
例如從資料庫抓出 date 欄位
$rs['date']->format("Y-m-d")
可依自己需求改變 format 格式